[PATCH 0/3] Miscdevices in Rust

Alice Ryhl
2024-09-26T14:59:35Z

A misc device is generally the best place to start with your first Rust
driver, so having abstractions for miscdevice in Rust will be important
for our ability to teach Rust to kernel developers.

I intend to add a sample driver using these abstractions, and I also
intend to use it in Rust Binder to handle the case where binderfs is
turned off.

I know that the patchset is still a bit rough. It could use some work on
the file position aspect. But I'm sending this out now to get feedback
on the overall approach.

This patchset depends on files [1] and vma [2].

Link: https://lore.kernel.org/all/20240915-alice-file-v10-0-88484f7a3dcf@google.com/ [1]
Link: https://lore.kernel.org/all/20240806-vma-v5-1-04018f05de2b@google.com/ [2]
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
---
Alice Ryhl (3):
rust: types: add Opaque::try_ffi_init
rust: file: add f_pos and set_f_pos
rust: miscdevice: add abstraction for defining miscdevices

rust/bindings/bindings_helper.h | 1 +
rust/kernel/fs/file.rs | 20 ++
rust/kernel/lib.rs | 1 +
rust/kernel/miscdevice.rs | 401 ++++++++++++++++++++++++++++++++++++++++
rust/kernel/types.rs | 16 ++
5 files changed, 439 insertions(+)
---
base-commit: a6266fcab443f4b6ae31016bd6c3872f8200d5e1
change-id: 20240926-b4-miscdevice-29a0fd8438b1

Best regards,
--
Alice Ryhl <aliceryhl@google.com>