经过两个月的开发, Linus Torvalds日前宣布发布新版本的Linux内核5.11 在这个最显着变化的新版本中,我们可以提及对Intel SGX飞地的支持,拦截系统调用的新机制,虚拟辅助总线,在seccomp中快速过滤系统调用,停止维护ia64架构,将SCTP封装在UDP中。
新版本 收到15480年开发人员的1991个补丁,补丁大小为72MB (更改了受影响的12090个文件,添加了868,025行代码,删除了261,456行)。 46中引入的所有更改中约有5.11%与设备驱动程序有关,大约16%的更改与更新硬件体系结构的特定代码有关,13%与网络堆栈有关,3%与文件系统有关,4%与内部内核子系统有关。
Linux 5.11中的主要新闻
在这个新版本的Linux Kernel 5.11中,我们可以找到 从损坏的文件系统中恢复数据时,向Btrfs添加了几个安装选项, 除了删除对先前不建议使用的“ inode_cache”安装选项的支持之外,该代码还准备支持元数据和数据小于页面(PAGE_SIZE)的块,并支持按区域分配空间。
除此之外 添加了一种新的机制来拦截系统调用,基于prctl()并允许在访问特定系统调用并模拟其执行时从用户空间引发异常。 Wine和Proton要求使用此功能来模拟Windows系统调用,这是确保与无需执行Windows API即可直接执行系统调用的游戏和程序兼容的必要条件(例如,防止未经授权的使用)。
对于建筑 RISC-V,已添加对连续内存分配器内存分配系统的支持 (CMA),使用页面移动技术对其进行了优化,以分配较大的连续内存区域。 对于RISC-V, 还有一些工具可以限制对/ dev / mem的访问 并计算中断处理时间。
对于系统 32位ARM,已添加对KASan调试工具的支持 (内核地址清除程序),该功能可在处理内存时提供错误检测。 对于64位ARM,已将KASan实现移至使用MTE(MemTag)标签。
关于虚拟化和安全性,系统调用脱颖而出 seccomp()增加了对快速响应模式的支持,它使您可以基于附加到进程的恒定操作位图来快速确定是允许还是拒绝特定的系统调用,而无需启动处理程序BPF。
另外,我们可以找到一些 基于Intel SGX技术的用于安全区创建和管理的集成内核组件 (Software Guard eXtensions),它允许应用程序在隔离和加密的内存区域中执行代码,这些内存对系统其余部分的访问受到限制。
对于ARM64系统,已添加了使用内存标记扩展(MemTag)标记的功能,用于信号处理程序的内存地址。 通过在Sigaction()中指定SA_EXPOSE_TAGBITS选项来启用MTE,并允许您验证使用指针的正确性以阻止对漏洞的利用。
最后,在控制器方面, 支持英特尔Maple Ridge的第一个离散USB4主机控制器,以及对AMD“绿色沙丁鱼” APU(Ryzen 5000)和“ Dimgrey Cavefish” GPU(Navi 2)的支持,以及对具有Zen 2核心和RDNA 2(Navi 2)GPU的AMD Van Gogh APU的最初支持。 添加了对新的Renoir APU ID(基于Zen 2 CPU和Vega GPU)的支持。
nouveau驱动程序基于“ Ampere”微体系结构(GA100,GeForce RTX 30xx)添加了对NVIDIA GPU的初始支持,目前仅限于视频模式控件。
我已经看到他们在内核中提交了Valentine提交,而我却面对着什么?