我了解到,当copy_to_user函数中发生页面错误时,将使用异常表。
但我发现几乎所有的修复都只是设置返回值,并跳到触发页面错误的指令之后的下一条指令。
内核在哪里做用户空间地址的映射工作?
我的意思是,至少在某个地方内核会修改页表。
发布于 2017-08-03 21:36:14
你的问题非常不清楚,copy_to_user基本上是一个将数据从内核空间复制到用户空间的函数。主要是出于安全原因,因为我们不想让用户访问内核数据结构和内核空间。因此,我们需要一种机制来请求内核提供这些数据。
实际上,将在页表中添加一个新的映射。映射是在page-tables所在的kernel-space中完成的。
https://stackoverflow.com/questions/45479574
复制相似问题