如您所知,每个内核线程共享一个内核内存空间。描述内核线程的 task_struct 的 mm 字段为空。它使用'priv'任务的mm字段。
我认为这会使任何内核线程访问其他内核线程的私有内存区域。例如,其中一个设备驱动程序为其自己的缓冲区分配了4KB页面,但无法阻止其他线程访问它。因为每个内核线程共享一个内存地址空间。
所以,我有一个问题。有没有办法让那些应该用于私人的页面?
答案 0 :(得分:1)
有没有办法询问应该用于私人的网页?
不,任何执行内核代码的进程都可以访问操作系统中的所有。
如果需要一些安全保障,则可以通过操作系统及其策略来防止将恶意软件驱动程序加载到内核中。