Linux内核中的copy_from_user如何在内部工作?

Linux内核中的copy_from_user如何在内部工作?,第1张

Linux内核中的copy_from_user如何在内部工作?

的实现

copy_from_user()
高度依赖于体系结构。

在x86和x86-64上,它只是直接从用户空间地址进行读取并写入内核空间地址,同时如果已配置,则暂时禁用SMAP(超级用户模式访问阻止)。它的棘手部分是将

copy_from_user()
代码放置在特殊区域中,以便页面错误处理程序可以识别其中何时发生错误。发生的内存保护错误
copy_from_user()
不会像其他任何进程上下文代码触发的那样杀死进程,也不会像在中断上下文中发生的那样使内核感到恐慌-
它只是在代码路径中恢复执行返回
-EFAULT
呼叫者



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5015196.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存