title: copy_to_user undefined in linux kernel version 4.12.8
body: <p>In my project I am using char driver to communicate between user space and kernel space. I use the function <code>copy_to_user(void user *to, const void *from, unsigned long n)</code> to copy data from kernel space to user space buffer. We can find this function under <code>#include &lt; asm/uaccess.h &gt;</code> header file.
  I complied the project using Linux Kernel version 4.4.0-59-generic, Ubuntu OS version 16.04 LTS and its working fine without any error and warning. I get the desired output.</p>
  
  <p>I compiled the same project using Linux kernel version 4.12.8, Ubuntu OS version 16.04.2 LTS and it throws me an warning during compile time <code>WARNING: "copy_to_user" [/home/ldrv1/Desktop/Vijay/code/build/uts.ko] undefined!</code>. When I do insmod of my module I get error as follows <code>insmod: ERROR: could not insert module uts.ko: Unknown symbol in module</code>. I think that <code>#include &lt;asm/uaccess.h&gt;</code> header file is still supported in 4.12.8 kernel version else I would have got fatal error: no such file or directory error while compiling. I tried updating the linux kernel headers using  <code>apt-get install linux-headers-$(uname -r)</code> command and I got the following response: </p>
  
  <pre><code>Reading package lists... Done
  Building dependency tree
  Reading state information... Done
  E: Unable to locate package linux-headers-4.12.8
  E: Couldn't find any package by glob 'linux-headers-4.12.8'
  E: Couldn't find any package by regex 'linux-headers-4.12.8'
  </code></pre>
  
  <p>This OS version 16.04.2 LTS has linux-headers-4.10.0-35.
  How do I get rid of this warning? Suggestions and support appreciated. If more information is required please feel free to ask. </p>