copy_to_user页面错误,内核如何映射用户空间地址的页面?



我了解到,当函数中发生页面错误时copy_to_user将使用异常表。
但我发现几乎所有的修复程序都只会设置返回值并跳转到触发页面错误的指令之后的下一条指令。
内核在哪里对用户空间地址进行映射?
我的意思是至少有一些地方内核会修改页表。

你的问题很不清楚copy_to_user基本上是一个将数据从内核空间复制到用户空间的功能。主要是出于安全原因,因为我们不想让用户访问内核数据结构和内核空间。因此,我们需要一种机制来请求内核向我们提供这些数据。

确实将在页表中添加新的映射。映射在kernel-spacepage-tables所在的位置。

最新更新