谷歌工程师近日向 Linux 内核提交了一个新补丁,希望为其添加名为 mseal() 的系统调用「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() “字面上”的系统调用定义。”
为您推荐与 linux 相关的帖子:
- Rocky Linux 9.0正式版发布:免费的RHEL 9.0替代
- Linux Mint 22.3“Zena”发布,引入全新 Cinnamon 6.6 桌面环境
- Linux Kernel 6.0 RC2 发布,包含“迟来”的补丁
- Linux 6.0-rc1 发布,Linus “也可以称之为 5.20 版本”
- Linux 6.0将其H.265/HEVC用户空间API提升到稳定状态
- Linux 6.0 合并大量 char/misc 代码,提供 Gaudi2 支持
- Linux 6.0 SMB3客户端代码带来多通道性能改进
- Linux 5.19 正式发布
- Linux又将迎来大版本更新 5.20版可能会被称为Linux 6.0
- Linux Mint 21 “Vanessa”发布 基于Ubuntu 22.04 LTS打造
- Linux Kernel 5.19登场 是Linus Torvalds在M1 MacBook上发布的
- Linux 5.19-rc8 发布
- Linux 5.19-rc8 发布 完善Retbleed漏洞缓解、英特尔GuC固件修复
- Linux x86 32位架构易受Retbleed漏洞影响 但别指望它能快速得到修复
- Linux 5.19-rc7发布:经历了Retbleed、英特尔GPU固件故障的艰难一周
- Linux Mint 21 “Vanessa” Beta发布
- Linux迎来AMD Radeon Memory Visualizer显存可视化工具支持
- Linux Mint 21 Beta 发布
- Linux 5.19-rc6发布
- Linux 5.19-rc5 发布
- Steam六月软硬件报告:Linux市场份额达到1.18%
- Linux Mint 21将不会为低资源机器配备systemd-oom
- Radeon Software For Linux 22.20驱动现身 支持Ubuntu 22.04 LTS和RHEL 9.0
- FESCo批准一批Fedora Linux 37的新功能
- Linux Kernel 5.19-rc4 发布,补丁规模较大、修复性能回归问题
- Linux 5.19-rc4发布:补丁规模稍大 稳定版预估7月底发布
- Linus Torvalds出席2022开源峰会并发表演讲 对Linux的热情30多年未减
- Linux 5.20将支持XFS的异步缓冲写入和IO_uring以获得性能提升
- Linux 5.19内核最新改进使其签名验证代码符合FIPS要求
- Linus Torvalds:Rust有可能被合并到Linux 5.20内核中去
暂无回复。
