title: Read system call gives wrong count size?
body: <p>I have created a misc driver and has made a sample read function like this </p>
  
  <pre><code>static ssize_t test_read(struct file *file, char __user *buffer,
          size_t count, loff_t *ppos)
  {
      pr_info("Count arg : %d\n",count);
  
      return ret;
  }
  </code></pre>
  
  <p>I now try to read the device using a userspace code as shown below</p>
  
  <pre><code>uint64_t read_buff;
  fread(&amp;read_buff, sizeof(read_buff), 1, fp)
  </code></pre>
  
  <p>The dmesg log I get is </p>
  
  <pre><code>[ 1593.273163] Count arg : 4096
  </code></pre>
  
  <p>I was expecting it to be of the size of uint64_t. Could anybody point me why I get an unexpected value?</p>