linux - 为什么内核要使用 copy_to_user() 函数?

标签 linux kernel

为什么内核要使用copy_to_user函数?

直接操作用户空间的数据不行吗?

最佳答案

内核和用户空间应用程序具有不同的地址空间,因此复制到用户空间需要更改地址空间。每个进程都有自己的(用户)地址空间。

此外,内核在复制到用户空间时不应该崩溃,因此 copy_to_user 函数可能会检查目标地址是否有效(也许该地址应该被调入,例如从交换空间调入)。

阅读更多关于 linux kernel 的信息, syscalls , processes , address space ...

关于linux - 为什么内核要使用 copy_to_user() 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11598220/

相关文章:

amazon-web-services - Amazon EC2 实例如何选择其内核?

linux - 应最大化哪种类型的 POWER8 PMU 事件?

linux - 在 Linux DR 数据库服务器重新启动期间安全停止和重新启动 Oracle Golden Gate 复制的过程

linux - 创建具有重叠直方图的图形并将其保存到单个文件

linux - 用于搜索和替换标签的 Bash 脚本

linux - 为什么鼠标的p->dx和p->dy总是为零?

c - 如何在从多个目录/文件编译内核模块时创建新目录并将 .o 文件移动到其中

r - Linux 环境中默认的 .RData 工作空间保存在哪里?

c - 从内核劫持系统调用

android - 如何为内核使用 netlink 套接字 - Android 用户空间通信