Linux Kernel Module Development with Rust

Shao Fu Chen, Yu Sung Wu

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

1 Scopus citations

Abstract

The Linux system has become an indispensable component of today's Internet services, network backbones, and IoT devices. The Linux kernel is primarily implemented in the C language for efficiency, creating opportunities for memory bugs and synchronization bugs. We introduce the use of the Rust programming language in kernel development, where the safety features of the Rust language are leveraged to prevent the introduction of memory bugs or synchronization bugs when writing kernel code. We showcase the key steps in developing a Linux kernel module in Rust and discuss how the memory bugs and synchronization bugs are prevented. The evaluation demonstrates that the performance overhead of the Rust kernel modules is on par with the C kernel modules.

Original languageEnglish
Title of host publication5th IEEE Conference on Dependable and Secure Computing, DSC 2022 and SECSOC 2022 Workshop, PASS4IoT 2022 Workshop SICSA International Paper/Poster Competition in Cybersecurity
PublisherInstitute of Electrical and Electronics Engineers Inc.
ISBN (Electronic)9781665421416
DOIs
StatePublished - 2022
Event5th IEEE Conference on Dependable and Secure Computing, DSC 2022 - Edinburgh, United Kingdom
Duration: 22 Jun 202224 Jun 2022

Publication series

Name5th IEEE Conference on Dependable and Secure Computing, DSC 2022 and SECSOC 2022 Workshop, PASS4IoT 2022 Workshop SICSA International Paper/Poster Competition in Cybersecurity

Conference

Conference5th IEEE Conference on Dependable and Secure Computing, DSC 2022
Country/TerritoryUnited Kingdom
CityEdinburgh
Period22/06/2224/06/22

Keywords

  • Linux kernel
  • Rust
  • compile-time check
  • memory bug
  • synchronization bug

Fingerprint

Dive into the research topics of 'Linux Kernel Module Development with Rust'. Together they form a unique fingerprint.

Cite this