华为开发者提出为提高内存安全性而设计的Linux内核"沙盒模式"

华为开发者提出为提高内存安全性而设计的Linux内核"沙盒模式"华为公司的PetrTesarik发出了关于新SandBox模式的"征求意见"补丁系列。Petr将SandBox模式描述为:"SandBox模式的最终目标是在仅允许访问预定义地址的内存的环境中执行本地内核代码,因此潜在漏洞无法被利用或不会对内核的其他部分产生影响。该补丁系列将SandBox模式的API和架构独立的基础架构添加到内核中。它在所有输入和输出数据的vmalloc()编辑副本上运行目标函数。由于有了保护页,仅此一项就能防止一些越界访问"。SandBox模式文档进一步补充道:"沙盒模式(SBM)的主要目标是通过分解内核来减少内核代码中潜在内存安全漏洞的影响。SBMAPI允许在隔离的执行环境中运行每个组件。特别是,用作输入和/或输出的内存区域与内核的其他部分隔离,并由保护页包围。在实现了必要的拱形钩子的架构上,沙盒模式利用硬件分页设施和CPU权限级别,只强制使用这些预定义的内存区域。有了arch支持,SBM还能从违反保护规定的情况中恢复。这意味着,SBM会强制终止沙箱,并向调用者返回错误代码(如``-EFAULT``),以便继续执行。这种实现方式提供了*强隔离*"。上游内核开发人员对沙箱模式提案的接受程度还有待观察,有兴趣的开发者可以查看RFC补丁系列,了解有关Linux内核刚刚提出的这一新增功能的更多信息。...PC版:https://www.cnbeta.com.tw/articles/soft/1418121.htm手机版:https://m.cnbeta.com.tw/view/1418121.htm

相关推荐

封面图片

Linux V4L2 VP9 编解码器内核代码将用Rust重写 提高内存安全性

LinuxV4L2VP9编解码器内核代码将用Rust重写提高内存安全性请求注释"代码将VP9库代码移植到Rust中,并将RKVDEC和Hantro驱动程序代码转换为使用Rust版本。 Fluendo的Fluster测试表明,无论是使用Rust还是C版本的代码,结果都是一样的。Almeida对RFC补丁发表了如下评论:关于驱动程序,我们在不同场合已经说了很多,我觉得目前的共识是等待。这就是为什么我提出一种不同的方法:将我们的编解码器库移植到Rust中。在我看来,这些组件可以从Rust中受益匪浅,因为它们实现了复杂的算法,同时还通过V4L2控制来处理从用户空间接收的数据。这些算法使用从用户空间接收的数据来索引大量数组,从而受益于Rust的内存安全性。关于代码的第一件事是它不包含任何绑定层。这里的Rust代码还为C驱动程序提供了一个CAPI。这个CAPI是由cbindgen自动生成的,我已经提供了如何生成的说明。我们甚至可以同时使用C库和Rust库中的函数,因为ABI是相同的。以上内容非常有用,因为这意味着我们可以在必要时逐段转换给定的代码库。C驱动程序将通过CAPI正常工作,而任何新的Rust驱动程序都将受益于本地Rust接口。他在补丁封面信中继续补充道:最后,请注意这段代码只是一个概念验证,如果反响良好,我们可以推出一个正式的补丁(包括所有相关内容)"感兴趣的人可以在内核邮件列表中找到这些RFC补丁,同时等待其他Linux内核上游利益相关者的反馈。...PC版:https://www.cnbeta.com.tw/articles/soft/1421387.htm手机版:https://m.cnbeta.com.tw/view/1421387.htm

封面图片

新的补丁旨在减少编译Linux内核时的内存占用

新的补丁旨在减少编译Linux内核时的内存占用访问新闻组以了解更多:https://lore.kernel.org/lkml/[email protected]/这组8个补丁对objtool的代码进行了调整,以减少内存的使用。特别是,在objtool代码中,从循环中的malloc()切换到循环外的calloc(),在处理vmlinux.o时,峰值内存使用量减少了3.7%。在另一个由Thomas建立的内核中,减少了structreloc的内存使用量又减少了3.8%。优化结构符号的布局降低了0.5%的内存使用量,同时还有其他一些优化。这个正在审查的补丁系列应该有助于减少编译Linux内核时的峰值内存使用,并反过来帮助构建,特别是对于内存数量有限的系统,否则在构建过程中可能会遇到交换问题,反过来会导致构建速度下降。...PC版:https://www.cnbeta.com.tw/articles/soft/1336589.htm手机版:https://m.cnbeta.com.tw/view/1336589.htm

封面图片

提议中的Linux的动态内核堆栈功能补丁可节省大量内存

提议中的Linux的动态内核堆栈功能补丁可节省大量内存Google一直在使用内核补丁来保持8K堆栈,但随着时间的推移,他们需要更大的堆栈大小,这反过来又增加了超大规模部署的内存使用量。为了减少增加的内存使用,Google一直在研究动态内核堆栈,因为许多内核线程都可以容纳在4K或8K的堆栈中。到目前为止,动态内核堆栈的RFC补丁工作进展顺利,已经进行了少量测试,并允许从4K扩展到THREAD_SIZE限制。Google工程师发现,动态内核堆栈平均可以节省70%到75%的内核堆栈内存。PashaTatashin发布的早期结果很有希望,但可能取决于工作负载、虚拟化和其他因素:Tatashin进一步补充说:"一些拥有数百万线程的工作负载可以从这一功能中显著受益。"对节省内核堆栈内存这项工作感兴趣的人,请参阅RFC补丁系列。...PC版:https://www.cnbeta.com.tw/articles/soft/1423351.htm手机版:https://m.cnbeta.com.tw/view/1423351.htm

封面图片

微软参与修改措辞与注释 提高Linux内核语言的包容性

微软参与修改措辞与注释提高Linux内核语言的包容性本周早些时候,微软的一位工程师为Linux内核开发了Rust语言改进补丁,而在周末假期结束时,又为Linux内核语言开发了更具包容性的补丁。今天,微软Linux工程师EaswarHariharan发布了一组14个补丁,他负责AzureLinuxplumbing、AzureCobalt等云硅的启用以及虚拟化事务。微软的这一最新非核心业务Linux贡献正在清理代码中的语言,使其更具包容性。特别是根据最新的上游I2C、SMBus和I3C规范进行调整,以使用适当的术语。大部分代码和代码注释中的术语已从主从调整为控制器和目标站(或客户端)。但即使是这些补丁也会引起一些问题,因为行业规范倾向于使用新的控制器/目标术语,而不是这些新内核补丁中使用的客户端术语。在上游内核开发人员中,显然还没有就如何区分客户端和目标机达成明确的共识。这些补丁清理了近400行代码,包括从核心子系统代码到AMD和Intel图形驱动程序、各种媒体和FBDEV驱动程序,以及其他I2C/I3C/SMBus代码。您可以在内核邮件列表中找到微软提供的新Linux内核包容性语言补丁:https://lore.kernel.org/dri-devel/[email protected]/T/...PC版:https://www.cnbeta.com.tw/articles/soft/1425639.htm手机版:https://m.cnbeta.com.tw/view/1425639.htm

封面图片

华为开发者的补丁将一个内核函数的速度提升了 715 倍

华为开发者的补丁将一个内核函数的速度提升了715倍正在开发中的Linux6.2合并了华为开发者雷镇的一个补丁,将kallsyms_lookup_name()的查找速度提高了715倍。该函数用于根据名字查找一个符号的地址,能用于查找内核符号表中的任何符号。新的改进将算法复杂度从O(n)改进为O(log(n)),极大地提升了查找速度,只是要多耗费一些内存。Linux内核社区将此补丁评价为“Linux的圣诞节礼物”。(注:在Linux6.1LTS中,华为再次以内核补丁数排名第一。)来源,来自:雷锋频道:@kejiqu群组:@kejiquchat投稿:@kejiqubot

封面图片

Linux 内核将不再支持 PowerPC 40x 处理器

Linux内核将不再支持PowerPC40x处理器在90年代,PowerPC40x处理器曾用于瘦客户机、机顶盒和其他设备。现在看来,移除PowerPC40x的计划终于要实现了。迈克尔-埃勒曼(MichaelEllerman)今天发布了一系列用于移除40x处理器支持的补丁。这将取消对PowerPC401/403/405的支持,同时保留对PowerPC440及以后处理器的支持。埃勒曼在补丁系列中解释说"注意44x和476不受影响。...因此,除非有人出面维护,否则请删除未使用的40x。RIP"。从Linux内核中删除这些早期PowerPC代码可以清除4400行旧的和未维护的代码,这些改动的补丁是否能在即将到来的Linuxv6.10合并窗口中及时排队暂时还不清楚。相关文章:Linux6.10将放弃对老式DECAlpha硬件的支持...PC版:https://www.cnbeta.com.tw/articles/soft/1429859.htm手机版:https://m.cnbeta.com.tw/view/1429859.htm

🔍 发送关键词来寻找群组、频道或视频。

启动SOSO机器人