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

最佳答案

您的问题很不清楚,acopy_to_user基本上是一个将数据从内核空间复制到用户空间的函数。主要是出于安全原因,因为我们不想让用户访问内核数据结构和内核空间。所以我们需要一种机制来请求内核提供这些数据。
页表中确实会添加新的映射。映射在中完成
kernel-space位于page-tables的位置。

09-27 12:33
查看更多