谷歌向 Linux 内核提交 mseal () syscall 补丁

导读 谷歌工程师近日向 Linux 内核提交了一个新补丁,希望为其添加名为 mseal () 的系统调用「mseal() syscall」。

谷歌向 Linux 内核提交 mseal () syscall 补丁

据介绍, 谷歌这个独立于架构的系统调用最初由 Chrome OS 上的 Chrome 浏览器使用。当时 Glibc 也在动态链接器中进行类似的实验,以在启动时封装所有不可写的段。

通过 mseal () 可防止系统调用修改虚拟地址的元数据。最初支持的是针对 mprotect/pkey_mprotect、munmap、mmap 和 mremap 调用进行封装。为了在 Chrome 和 V8 JavaScript 引擎中提供更好的保护,开发者正在寻求使虚拟内存区域的元数据不可变。

Glibc 的方案是在动态链接器中添加封装,以便在启动时对所有不可写段进行封装,这也将自动使所有应用程序受益。

Linus Torvalds 对 mseal () syscall 提出的模型表达了保留意见,目前这个提案并没有直接被接受,需要修订才能进化成适合上游的形式。

Linus 表示:

“我对添加某种’锁定内存映射’ (lock down memory mappings) 模型没有异议,但事实并非如此。

首先,最明显的问题是提交信息无价值。

另外更根本的问题要严重得多 ——”ON_BEHALF_OF_KERNEL” 和 “ON_BEHALF_OF_USERSPACE” 整体完全不合逻辑,整体概念都需要重写。因为这就是 remap_file_pages () “字面上” 的系统调用定义。”

原文来自:https://www.oschina.net/news/262326

本文地址:https://www.linuxprobe.com/ggxlnhtjmsbd.html编辑:吴向平,审核员:清蒸github

Linux命令大全:https://www.linuxcool.com/

Linux系统大全:https://www.linuxdown.com/

红帽认证RHCE考试心得:https://www.rhce.net/

© 版权声明
THE END
喜欢就支持一下吧