On an exciting Saturday morning, Miguel Ojeda released the latest patch series, which historically incorporated rust language support into the Linux kernel. The "rust for the Linux kernel" patch is now in its sixth version. It adds the necessary support for this second optional language and continues to add more sample code / basic functions to show the application of this memory safe language in the kernel.
At the same time, the effort of rust for Linux continues, and many developers and organizations are interested in seeing the ability to start using rust code in the kernel, especially in areas prone to memory security problems. In the V6 patch released today, the tool chain support has been updated for rust 1.60, which supports running document tests in the kernel and other improvements to rust infrastructure.
When it comes to the use of rust code in the kernel, we can see the beginning of network support in this patch series. Net "module supports namespace, skbuff, ipv4addr, socketaddrv4, tcplistener and other types. Async also supports asynchronous kernel programming. At present, it is working to allow asynchronous TCP socket code. The new rust code also adds support for network packet filter and other new functions.
From the perspective of this rust for Linux V6 series, rust support is still considered "experimental", but the performance is good enough. If necessary, kernel developers can start developing rust abstractions for other kernel subsystems and porting more drivers to rust.
For more details on the updated rust code of Linux kernel, please see this patch series:
At present, the effort of rust kernel has reached 379000 lines of code, including the bottom layer, subsystem abstraction and sample code started so far, and converting some Android and GPIO driver codes to rust as additional examples.