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

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

相关推荐

封面图片

Linux 6.9 将支持 AArch64 体系上的 Rust 内核

Linux 6.9 将支持 AArch64 体系上的 Rust 内核 提交说明显示:"此提交为 Rust for AArch64 提供了构建标志。内核中已有的 Rust 核心支持将完成其余工作。这使得 Rust 联编标志中的 PAC ret 和 BTI 选项与联编 C 语言时使用的选项相匹配。Rust 样本已通过此提交的测试。"AArch64 现在是继 x86_64(以及 x86_64 用户模式 Linux"um")和 LoongArch 之后在 Linux 内核中支持 Rust 的最新架构。到目前为止,Linux 内核的 Rust 支持主要是在基础设施方面,包括各种示例代码。现在,Linux 6.8 中已经有了Rust 编写的网络 PHY 驱动程序,尽管它是从现有的 C 语言驱动程序移植过来的。Rust Apple Silicon SGX DRM 驱动程序以及其他 Rust 内核驱动程序仍在开发中。 ... PC版: 手机版:

封面图片

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

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

封面图片

Mozilla正在用Rust重写Firefox的崩溃报告程序

Mozilla正在用Rust重写Firefox的崩溃报告程序 虽然 Firefox 崩溃的情况有所减少,但 Mozilla 工程师认为重写崩溃报告程序对深入了解崩溃情况非常重要。由于现有的崩溃报告器错误库"困难且容易出错",他们决定用 Rust 重写它。崩溃报告程序有意不使用现有的 Firefox 代码库,根据崩溃报告的性质保持最小的代码库,并提供跨平台的原生外观,Linux 上的新崩溃报告程序继续使用 GTK 工具包。在详细介绍了基于 Rust 的实现的所有有趣技术细节后,他们展示了新的崩溃报告 GUI:现在,他们已经拥有了 Firefox 碰撞报告程序的全新简洁代码库,可以继续实施新功能,使该报告程序比之前的实现更有用。更多详细信息,请访问Mozilla Hacks 博客。 ... PC版: 手机版:

封面图片

RISC-V 现在支持 Linux 内核中的 Rust

RISC-V 现在支持 Linux 内核中的 Rust Rust 在主线 Linux 内核中的使用仍然相当有限,迄今为止只有几个基本驱动程序,而且还在进行大量的基础架构工作,但有许多新驱动程序和其他子系统支持即将推出。RISC-V 现在支持 Linux 内核中的 Rust,这在未来将变得更加重要。Linux 6.10 的 RISC-V 更新还增加了字节/半字比较交换功能、hwprobe 中的 Zihintpause 支持、PR_RISCV_SET_ICACHE_FLUSH_CTX prctl(),以及无锁 lockrefs 支持。有关 Linux 6.10 RISC-V 更新的更多详情,请参阅Git 合并。在硬件方面,除此请求之外,还有Milk-V Mars 支持和其他新增功能。 ... PC版: 手机版:

封面图片

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

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

封面图片

AMD RDNA 4 GPU补丁将并入Mesa的RadeonSI Linux驱动程序

AMD RDNA 4 GPU补丁将并入Mesa的RadeonSI Linux驱动程序 我们已经有一段时间没有在 Linux 上看到多个 GFX12/RDNA 4 GPU 开发项目了,也没有看到 Red 团队如何使用"IP 块"来增强他们的方法。基于这一准备情况,我们可以期待在发布时对下一代 GPU 提供最佳支持。现在,Phoronix报道称,RDNA 4 GPU 启用的初期工作终于与 Linux 上的主流 Radeon 驱动程序合并,这表明我们确实接近正式发布的时间表,而且从目前的情况来看,AMD 已经为发布做好了一切准备。据透露,有 24 个补丁被合并到 Mesa 24.2-devel 中,其中大部分涉及平台的基本要素,如 AMD AC 代码、GFX12(RDNA 4 GPU)的 ADDRLIB 库代码,以及对 RadeonSI OpenGL 驱动程序的其他一些更改。由于这些补丁正在等待合并请求,我们没有看到任何新的或独特的内容;因此,我们就不详细介绍了。除此之外,AMD 还为其 RDNA 4 GPU 推出了VCN5(Video Codec Next)编码/解码功能:很高兴能看到这次AMD在 Linux 上启用 RDNA 和 Zen 架构时所采用的方法,因为从过去的情况来看,AMD 在推出补丁时表现得非常勉强,有些甚至是在正式发布几天后才推出。早期的补丁还揭示了 RDNA 4 GPU 的全新光线追踪功能,更多详情请点击此处。通过这些举措,AMD 准备将 Linux 支持提升到一个新的高度,与 MESA 的 RADVV ulkan 驱动程序等替代品展开竞争。 ... PC版: 手机版:

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

启动SOSO机器人