谷歌工程师近日向 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 相关的帖子:
- Linux 桌面环境 KDE Plasma 5.27.1 发布:在 Plasma Wayland 中改进对 Wine 游戏的支持
- Rocky Linux 9.4 发布
- Linux Kernel 6.6 确认成为 LTS 版本
- AlmaLinux 9.3 发布:独立于 RHEL 源代码,开源企业 Linux 的新里程碑
- Linux 基金会宣布创立高性能软件基金会,推进 HPC 开源项目发展
- 原因就是没人用,Linux 维护者回应外界“缩短 LTS 内核支持期限”质疑
- Linux 6.6 RC 1 版本发布
- Oracle Linux 9.3 发布
- Linux Kernel 6.3 稳定版发布,优化对 ARM 和 RISC-V 的支持
- Linux 6.3 正式发布
- Linux Lite 6.4 发布,引入 Zstd 压缩
- Linux 6.3-rc3 现已发布
- Linux 6.3 增加 Thunderbolt/USB4 DisplayPort 带宽分配模式
- Linux 6.3-rc1 已发布
- Armbian Linux 23.02 发布,适用于 ARM 开发板的发行版
- Linux 6.4-rc2 发布
- Linux 6.3 为高通 WiFi 7 硬件添加 ath12k 驱动程序支持
- GNU Linux-Libre 6.2 发布:不含任何专有代码
- Linux 6.3 大幅优化 Btrfs 性能,表现可提升 3-10 倍
- Linux 6.2 已正式发布
- Linux 6.1 正式升级为 LTS 内核
- Linux 过去 3 年大幅优化 AMD Ryzen 处理器,综合性能提升 15%
- Linux 6.2-rc7 发布,稳定版将在两周内发布
- Linux Mint 21.2 代号"Victoria",将在 6 月底正式发布
- Linux 6.3 删除了一批过时的 GPU 驱动程序
- MX Linux 21.3 发布,基于 Debian 的 Linux 发行版
- Linux 6.0 生命周期结束
- Linux Kernel 6.2-rc2 发布
- Linux 6.2-rc1 已发布
- Linux 6.1继续为龙芯中科LoongArch架构带来新的CPU功能特性
暂无回复。