内核

内联代码缺陷查找

Linux内核有多种调试工具。其中之一是内核函数跟踪器,它可以跟踪函数调用,查找错误的内存分配和其他问题。

支持NDS32架构

Green Hu发布了一个补丁以支持NDS32架构。他将当前状态描述为:“它能够在nds32 AE3XX平台上启动到shell并能通过大多数LTP-2017测试套件。” Arnd Bergmann批准了该补丁,但Linus Torvalds希望对该芯片的“用途、怪癖、存在理由”进行更详细的描述——概述,以便包含在变更日志中。Arnd回复道

英特尔新的缓存特性被考虑纳入主线

近期,由于Spectre/Meltdown CPU漏洞和其他类似的硬件问题不断涌现,英特尔在各个圈子里的声誉不佳。但是,最近一些英特尔人士和内核人士之间进行了一次与这些问题无关的讨论。内核人员和公司人员之间仍然存在一些针锋相对,但这似乎更多是为了摆脱营销术语,而不是争论英特尔正在采取什么措施来修复其长期存在的硬件缺陷。

好的锁定与坏的锁定

在希望销售用户无法完全控制的产品的公司与希望用户成为最高权限的内核开发者之间,一直存在一系列冲突。有时,这些冲突表现为旨在锁定内核的安全补丁的形式。它们是锁定内核以防御外部攻击者吗?还是锁定内核以防止任何人(包括设备的所有者)进行更改?

扩展Landlocked进程

Mickaël Salaün发布了一个补丁,以改进landlocked进程之间的通信。Landlock是一个安全模块,它创建一个隔离的“沙箱”,即使进程本身受到恶意攻击者的入侵,也可以防止该进程与系统的其余部分进行交互。最终目标是允许普通用户进程以这种方式隔离自己,从而降低它们成为系统攻击入口点的可能性。

Git起源故事

回顾Linux内核开发者多年来使用的各种版本控制解决方案,Linus Torvalds决定使用BitKeeper以及随之而来的争议,以及Git是如何被创建的。

英特尔为修复未来CPU中的Spectre漏洞所做的一些努力

来自英特尔的Dave Hansen发布了一个补丁并表示:“英特尔正在考虑在IA32_ARCH_CAPABILITIES MSR(Model-Specific Register,型号特定寄存器)中添加一个新位,以告知何时可能发生RSB(Return Stack Buffer,返回堆栈缓冲区)下溢。在规范最终确定之前,非常感谢对此的反馈。” 他解释说,RSB

在非对称系统上使用可用的最佳CPU

Dietmar Eggemann发布了Quentin Perret的补丁,以利用非对称多处理器(AMP)系统上的节能CPU。AMP与对称多处理器(SMP)系统的区别在于,SMP系统仅使用一种类型的CPU的多个实例,而AMP系统可能使用速度、功能集等不同的CPU。

最低GCC版本可能从3.2跃升至4.8

关于构建Linux内核所支持的最早GCC编译器版本的问题会定期出现。理想情况是Linux能够在所有GCC版本下编译,因为你永远不知道别人正在运行什么样的系统。也许他们公司的安全团队必须批准其高度敏感设备的所有软件升级,而GCC在该列表中排名较低。也许他们需要尽可能节省空间,而最新版本的GCC又太大了。人们可能会被旧软件困扰,原因有很多。

移除对已淘汰硬件的支持

Arnd Bergmann提交了一个补丁,以移除各种架构的Linux端口,包括blackfin、cris、frv、m32r、metag、mn10300、score和tile。为此,他直接与每个端口的前维护者合作,以确保代码移除正确完成,并且不会破坏主线内核或任何其他地方。

DIY:从源代码构建自定义最小Linux发行版

按照这个分步指南,从源代码构建你自己的发行版,并学习它是如何安装、加载和运行的。当使用Linux时,你可以轻松下载任何最常见的发行版进行安装和配置——无论是Ubuntu、Debian、Fedora、OpenSUSE还是完全不同的东西。虽然你应该尝试几个发行版,但构建你自己的自定义最小Linux发行版也是一个有益且极好的学习实践。

清理/boot

/boot分区有时需要稍微注意一下。如果你启用自动更新,它将被旧内核填满,而你可能永远不需要这些内核。它还会阻止你运行aptitude来安装或删除任何东西。如果你发现自己处于这种情况,你可以使用dpkg来解决它。dpkg是基于Debian的发行版中更高级别的软件包管理器,当aptitude出现故障时,它非常有用。要查看你的分区状态,请运行:df -h

从内核空间中移除所有系统调用

正在进行一项努力,以减少并最终从内核空间中移除所有系统调用。Dominik Brodowski正在领导这项工作,他发布了一些补丁,以从内核中移除许多实例。他说,除其他外,这些补丁将使清理和优化系统调用入口点变得更容易,也更容易清理内核中仍然需要伪装成用户空间的部分,以便它们可以继续使用系统调用。

新的NOVA文件系统

Andiry Xu(与Lu Zhang、Steven Swanson等人合作)发布了名为NOVA(NOn-Volatile memory Accelerated,非易失性内存加速)的新文件系统的补丁。普通RAM芯片每次关机时都会被擦除。非易失性RAM在重启后仍能保留其数据。他们的项目目标是字节寻址非易失性内存芯片,例如英特尔的3DXpoint DIMM。

Lustre文件系统从Linux 4.18内核中移除

现在已正式宣布:Linux 4.18的最新RC1拉取请求将不包含近15年历史的Lustre文件系统。Greg Kroah-Hartman越来越厌倦开发其源代码的团队没有将更干净和修复的代码推送到暂存树。移除已于2018年6月5日提交:并附带以下说明

将任意可执行文件加载为内核模块

Alexei Starovoitov发布了一些补丁,以允许内核将常规ELF二进制文件(也称为普通可执行文件)加载为内核模块。这些模块将能够运行用户模式辅助例程,而不是完全局限于内核空间。

加速Netfilter(通过避免Netfilter)

Imre Palik试图加速Linux的一些网络代码,但遇到了顽固的反对。本质上,他希望网络数据包绕过netfilter代码,除非绝对必要。他说,Netfilter的设计是为了灵活性而牺牲了速度。根据他的测试,绕过它可以使系统加速高达15%。

只读内存

Igor Stoppa发布了一个补丁,允许将内核内存池设置为只读。内存池是在Linux中对内存分配进行分组的一种标准方法,以便它们的时间成本更可预测。有了Igor的补丁,一旦内存池被设置为只读,就不能再设置为读写。这将永久保护数据并防止攻击者。当然,你可以释放内存并销毁池。但除此之外,数据将保持只读。

解决英特尔硬件缺陷

解决英特尔芯片中严重硬件缺陷的努力正在进行中。Nadav Amit发布了一个补丁,以改进关于英特尔Meltdown缺陷的兼容模式。兼容模式是指系统模拟较旧的CPU,以便提供支持依赖于该CPU功能的旧软件的运行时环境。要避免的是模拟该旧芯片中硬件缺陷造成的大量安全漏洞。

使用DPDK的用户空间网络

DPDK是一个完全开源的项目,在用户空间中运行。它是一个多供应商和多架构的项目,旨在实现高I/O性能和达到高数据包处理速率,这是网络领域中最重要的特性之一。它由英特尔在2010年创建,并在2017年4月移至Linux基金会。此举使其成为最主导和最重要的开源Linux项目之一。