copy_from_user and segmentation

Viewed 562

I was reading a paragraph from the "The Linux Kernel Module Programming Guide" and I have a couple of doubts related to the following paragraph.

The reason for copy_from_user or get_user is that Linux memory (on Intel architecture, it may be different under some other processors) is segmented. This means that a pointer, by itself, does not reference a unique location in memory, only a location in a memory segment, and you need to know which memory segment it is to be able to use it. There is one memory segment for the kernel, and one for each of the processes.

However it is my understanding that Linux uses paging instead of segmentation and that virtual addresses at and above 0xc0000000 have the kernel mapping in.

  1. Do we use copy_from_user in order to accommodate older kernels?
  2. Do the current linux kernels use segmentation in any way at all? If so how?
  3. If (1) is not true, are there any other advantages to using copy_from_user?
1 Answers
Related