Linux内核net模块引入了Rust代码 - Phoronix


Miguel Ojeda 发布了最新的补丁系列,将 Rust 语言支持引入 Linux 内核。“Rust for the Linux kernel”补丁现在已经到了第六版,用于为内核添加第二种可选语言所需的基础设施,并继续添加更多示例代码/基本功能,以展示这种内存安全的使用-专注于内核目的的语言。

Rust for Linux 的努力继续保持强劲势头,许多开发人员和组织有兴趣看到开始在内核中使用 Rust 代码的能力,特别是在容易出现内存安全问题的领域。随着今天 v6 补丁的发布,工具链支持已针对 Rust 1.60 进行了更新,支持在内核中运行文档测试,以及其他 Rust 基础设施改进。

  • 引入rust的Linux内核“net”模块支持 Namespace、SkBuff、Ipv4Addr、SocketAddrV4、TcpListener 等类型。
  • 还有对异步内核编程的“异步”支持
  • 当前状态已经用于允许异步 TCP 套接字代码。
  • 新的 Rust 代码还增加了对网络数据包过滤器和其他新功能的支持。

Rust 内核工作目前总计 37.9k 行代码,包括基础设施、到目前为止开始的子系统抽象、示例代码,以及将一些 Android 和 GPIO 驱动程序代码转换为 Rust 作为附加示例。