The effort to bring Rust to the Linux kernel continues this week, with an update from Rust for Linux project maintainer Miguel Ojeda released this week that sparked renewed excitement. While the update warns that Rust support “should still be considered experimental,” it notes that the project has moved from using the Rust compiler to stable releases, starting with Rust 1.57.0, which just came out last Thursday.
Additionally, the project has migrated to the 2021 edition of Rust and plans to migrate to new, stable compilers with each release.
Rust is now an official language for Linux development.
C and C ++ have led to many memory security issues over the years. Rust can prevent them. Lots of new Linux code will be in Rust.
You can learn Rust for free, interactively in your browser: https://t.co/qGofxZNvK4
– Quincy Larson (@ossia) December 8, 2021
“By upgrading the compiler, we were able to remove from the list a few unstable features that we were using,” Ojeda wrote, further noting that “we will continue to upgrade until we don’t rely on any features. unstable; At this point we may want to start declaring that a minimum version of Rust is supported as it is, for example GCC and Clang.
With this update, Ojeda also said that, although still experimental, “the support is good enough that kernel developers can start working on Rust abstractions for subsystems and writing drivers. and other modules, “which has generally been the plan from the start.
When we first looked at the idea of Rust in the Linux kernel, it was noted that the goal was not to rewrite the 25 million lines of kernel code in Rust, but rather to increase the new developments with the language more secure in memory than the C standard normally used in Linux development.
Part of the problem with using Rust is that Rust is compiled based on LLVM, as opposed to GCC, and subsequently supports fewer architectures. This is a problem we saw occur when the Python crypto library replaced old C code with Rust, leading to a situation where some architectures would not be supported. Therefore, using Rust for pilots would limit the impact of this particular limitation.
I like that the Linux kernel is supported by Rust
A bittersweet moment for me – today I can read and understand Linux C code, and I can barely type Rust code. It’s even harder than reading modern C ++
But writing new code in C or C ++ is a crime, it must be done
– Miguel “mask and vax” from Icaza (@migueldeicaza) December 8, 2021
Ojeda further noted that the Rust for Linux project has been invited to a number of conferences and events this year, and has even gained support from Red Hat, which is joining Arm, Google and Microsoft in supporting the effort. According to Ojeda, Red Hat states that “there is an interest in using Rust for the kernel work Red Hat envisions.”
On this note that Rust is compiled with LLVM instead of GCC, Ojeda also says that the GCC backend for the Rust compiler has been merged with Rust upstream, and that “If the backend continues to progress, we hope to start experimenting soon. compiling the Rust side of the kernel with GCC! “
This week in programming
- GitHub is updating its code search: GitHub provided a preview of their improved code finder which it says will provide “substantial improvements to code finder on GitHub.” At launch, the new feature will cover over 5 million of the most popular public repositories, as well as code in your own private repositories, and support a number of ways to find code – exact strings, regular expressions, Boolean operators. and scope according to the project, the repository, the organization and more. The feature is not yet fully available, but you can join the waiting list now to be included in the preview. While you can read all about how search works, it’s one of those things that works best when you see it, so quickly watch the intro video and find out what’s happening on a GitHub near you. .
- … And the navigation in the Python code: Along with news of GitHub’s improved code search, the company has also released precise code navigation for Python and code navigation in pull requests, both of which are generally available. Code browsing in changing checkout requests takes code browsing directly to the “changed files” tab of checkout requests, rather than just the GitHub code browser, while browsing through Precise code for Python offers a precise definition rather than the previously proposed “fuzzy” definition. Python functionality is powered using the stack graphics framework also introduced this week, and while it only supports Python currently, will add other supported languages in the coming months.
- GitHub actions get the container signature: A final update this week from GitHub – the company introduced the ability to protect your containers with a new container signing capability in GitHub Actions, provided in part to it by the Open Software Security Foundation (OpenSSF), whose he is a founding member. Specifically, the OpenSSF hosts the Sigstore project, which enables developers to securely create, distribute, and verify signed software artifacts, and GitHub announced that it has “integrated Sigstore support for signing container images. in the GitHub Actions starter workflow, so developers can sign their default container images. The new functionality will help ensure that the code you extract from a container registry is actually what you think it is, and not something that could introduce a vulnerability. To get started, check out the Getting Started workflow model that lets you take advantage of keyless signing when run from a public repository.
I received an email from my washing machine informing me that aws-1-east was out. So that’s … one thing.
– Rin Oliver, festive edition (they / he) (@kiran_oliver) December 8, 2021
- What do you want from the rust? Now is the time for all of you, Rustaceae, to make your voice heard, as the 2021 State of Rust Survey has been launched. The report examines who makes up the Rust community, how the project itself is doing, and what can be improved – and it’s all collected by completing the survey. The anonymous quiz takes 10 to 30 minutes and lasts until December 22, so give it a go. The results of this year’s survey will be posted on the Rust Blog, and you can also check out last year’s results.
- The results of the Kotlin feature survey are coming: While we’re on the subject of surveys, the results come from the Kotlin 2021 Feature Survey. The survey asked Kotlin developers what Kotlin’s most anticipated features were and, although they note that the survey was “not exhaustive” and that it would not guarantee that “any of these features will be integrated into the language soon, even if they received a lot of votes” they say that “your votes help us to prioritize our long-term work “. Well, despite this rather bleak, the researchers said they received 1,540 complete responses and that the three most sought-after features include multicatch and union types (45%), collection literals (32%), and multiple sinks on extension functions and properties. (30%). To learn more about the results, where they are implementing these and other highly sought after features, head over to the blog.
My youngest son said “coding is basically just if and for loops”.
– John Carmack (@ID_AA_Carmack) December 4, 2021