谷歌工程师近日向 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 相关的帖子:
- GNU Linux-Libre 6.2 发布:不含任何专有代码
- Linux Kernel 6.8 正式发布
- Linux Kernel 6.6 确认成为 LTS 版本
- 原因就是没人用,Linux 维护者回应外界“缩短 LTS 内核支持期限”质疑
- Linux 6.6 RC 1 版本发布
- Linux Kernel 6.5 版本发布:初步支持 Wi-Fi 7 和 USB4
- 红帽宣布将改善 RHEL 和 Fedora 的 Linux 引导加载程序体验
- Linux 系统将支持 USB-C 接口 DP 2.1 显示连接
- Linux 基金会宣布创立高性能软件基金会,推进 HPC 开源项目发展
- Linux 6.3-rc3 现已发布
- Linux 6.3 增加 Thunderbolt/USB4 DisplayPort 带宽分配模式
- Linux 6.3-rc1 已发布
- Armbian Linux 23.02 发布,适用于 ARM 开发板的发行版
- Linux 桌面环境 KDE Plasma 5.27.1 发布:在 Plasma Wayland 中改进对 Wine 游戏的支持
- Linux 6.3 为高通 WiFi 7 硬件添加 ath12k 驱动程序支持
- Linux Lite 6.4 发布,引入 Zstd 压缩
- 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功能特性
- Linux Kernel 6.1将放弃“fwserial”驱动程序来减轻内核的负担
- Linux 6.1性能分析工具迎来AMD CPU的perf mem与c2c支持
暂无回复。