Вопрос

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?

Это было полезно?

Решение

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.

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top