Question

As we all know that kernel has access to user space also. Thus, it doesn't need the special function - copy_to_user(). Why is it required then? The kernel can access the user space address directly. Isn't it?

Était-ce utile?

La solution

Because kernel does not want userspace to modify the passed data while it process the same data.

Copy from/to user

  1. Validates buffer

  2. Copy buffer to/from user so it does not have worry about data being updated in user space.

Autres conseils

Note that on some architectures, it's not implemented with a simple memcpy():

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top