Domanda

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?

È stato utile?

Soluzione

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.

Altri suggerimenti

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top