Kernel 为什么需要将_复制到_user()?

Kernel 为什么需要将_复制到_user()?,kernel,linux-device-driver,kernel-module,Kernel,Linux Device Driver,Kernel Module,众所周知,内核也可以访问用户空间。因此,它不需要特殊的函数-copy\u to\u user()。为何要这样做呢?内核可以直接访问用户空间地址。是吗?注意,在某些体系结构上,它不是用简单的memcpy()实现的。: 因为内核不希望用户空间在处理相同数据时修改传递的数据 从用户/向用户复制 验证缓冲区 向用户复制缓冲区/从用户复制缓冲区,这样它就不用担心数据在用户空间中被更新 如果你想添加一些关于这个函数的细节,而不是简单的memcpy(),我很乐意投票支持你。

众所周知,内核也可以访问用户空间。因此,它不需要特殊的函数-
copy\u to\u user()
。为何要这样做呢?内核可以直接访问用户空间地址。是吗?

注意,在某些体系结构上,它不是用简单的
memcpy()实现的。


    • 因为内核不希望用户空间在处理相同数据时修改传递的数据

      从用户/向用户复制

    • 验证缓冲区

    • 向用户复制缓冲区/从用户复制缓冲区,这样它就不用担心数据在用户空间中被更新


    • 如果你想添加一些关于这个函数的细节,而不是简单的memcpy(),我很乐意投票支持你。