title: return value of copy_from_user()
body: <p>Here is the description of the return value.</p>
  
  <pre><code>unsigned long copy_from_user
      (void *to, const void __user *from, unsigned long count)
  </code></pre>
  
  <p>The return value is the amount of memory still to be copied.</p>
  
  <p>What does it really mean? If the return value is 5, are <code>(count-5)</code> bytes copied? What is the reason that <code>(count-5)</code> bytes are copied only? Is it because size of <code>to</code> is smaller than <code>from</code> (the system should be crashed then, right)?</p>