Kangrejos 2026

The Rust for Linux Workshop

September 16-17, Las Palmas de Gran Canaria, Canary Islands

Kangrejos is an event where people involved in the Rust for Linux discussions can meet in a single place before LPC.

It is intended to be fairly informal and small (~30), invitation-only.

Rust for Linux is the project adding support for the Rust language to the Linux kernel. This includes providing support for writing kernel modules in Rust, such as drivers or filesystems, with as little unsafe code as possible (potentially none).

Sponsors

Sessions

Introduction & several topics

Miguel Ojeda

GCC Rust progress toward compiling Rust for Linux

Pierre-Emmanuel Patry

Charon makes analyzing a crate easy

Nadrieril

Rust for Linux Project Goals

Tomáš Šedovič

Beyond the Required Features: Future Rust development the kernel may benefit from

Josh Triplett

Self referential pin-init

Gary Guo

Field projection

Benno Lossin

EIIs and -Coverflow-checks=report

Jana Dönszelmann

bcachefs - engineering for reliability at scale

Kent Overstreet

A standalone Rust UFS driver for the Linux kernel

Andreas Hindborg and Jaemyung Lee

Ownable status update

Andreas Hindborg

Evaluating Rust for XArray

Daniel Gomez

NVIDIA vGPU Upstreaming Update

Zhi Wang

Project guidelines for panics, error handling, and build-time failures

Alexandre Courbot

Status update on Tyr

Daniel Almeida

Rust SPDM in the Kernel

Alistair Francis — Slides

Security Protocols and Data Models (SPDM) is used for authentication, attestation and key exchange. SPDM is generally used over a range of transports, such as PCIe, MCTP/SMBus/I3C, ATA, SCSI, NVMe or TCP.

From the kernels perspective SPDM is used to authenticate and attest devices. In this threat model a device is considered untrusted until it can be verified by the kernel and userspace using SPDM. As such SPDM data is untrusted data that is possibly from a mallicious device. The SPDM specification is also complex, with the 1.2.1 spec being almost 200 pages and the 1.3.0 spec being almost 250 pages long.

As such we have the kernel parsing untrusted responses from a complex specification, which sounds like a possible exploit vector. This is the type of place where Rust excels!

Over the last few years there has been gradual momentum building for SPDM support in the kernel and an implementation written in Rust. This implementation is in charge of authenticating and attesting untrusted and potentially malicious devices in the kernel using Rust code.

Patches have been submitted upstream (v2: https://lkml.org/lkml/2026/6/23/276), but the Rust code hasn't had much traction. The series depends on Benno's untrusted data API and then builds SPDM support on top of that.

This is an informal discussion about how to get the Rust patches reviewed and accepted upstream. What is missing? What would help people review? How can we get this accepted?

rm -f binder.c

Carlos Llamas and Alice Ryhl

Previous Editions

Kangrejos 2025

Kangrejos 2024

Kangrejos 2023

Kangrejos 2022

Kangrejos 2021