# Meeting 2024-12-11 <!-- Leave your topic starting with ### in the relevant sections below --> ## Critical <!-- bugs, soundness issues, urgent patches/reviews etc. --> ## Status Reports <!-- You want to report on something you are working on/request reviews. Or you want to know the status of something someone else is doing --> ### [Klint](https://github.com/Rust-for-Linux/klint) status / next steps (Dirk's offline question) Gary: I have kept it building. There has been some refactoring in the `rustc` side. I may be able to work on it during the break. If someone sees a bug or something, then please fill an issue. Gary: https://github.com/Rust-for-Linux/linux/pull/958 is the PR that runs klint for kernel, probably need rebasing. It may be a good idea to link it from the `README`. ### untrusted data patches/feature status / next steps (Dirk's offline question) Benno: I replied to Greg on the list, but I am mainly working on field projections. Probably next year or over the holidays I will work on it again. If others want to pick it up, then please go ahead, I can help mentor/review. ### irqsave spinlock & condvar status / next steps (Dirk's offline question) https://github.com/fbq/linux/tree/dev/nested-irq-disable Boqun: Performance question -- I want to be sure we are on par. It is a work in progress, Lyude and I will probably work together to make progress. Others are welcome too of course, please feel free to ask in Zulip or send me an email. ### [Field Projections' RFC](https://github.com/rust-lang/rfcs/pull/3735) Benno: Feedback welcome on the RFC. https://github.com/rust-lang/rfcs/pull/3735 ## Discussion Questions <!-- Anything that requires lengthy discussion/more general questions also fit here --> ### KBUILD_MODNAME for bus abstractions ```rust struct MyDriver; struct MyModule { _driver: Registration<pci::Adapter<MyDriver>, }; impl pci::Driver for MyDriver { ... } impl InPlaceModule for MyModule { ... } module! { type: MyModule, ... } module_pci_driver! { type: MyDriver, ... } ``` - `module_*_driver!`'s type argument is the actual driver type, whereas - `module!`'s type argument is the type implementing `InPlaceModule` ```rust impl ModuleMetadata for {type_} { const NAME: &'static CStr = c_str!(env!("KBUILD_MODNAME")); } impl PartOfModule for MyDriver { type Module = MyModule; } impl PartOfModule for MyModule { type Module = MyModule; } ``` ## Miscellaneous <!-- stuff that does not fit into other categories --> ### Good News * Mitchell's topic is accepted by Scale 22x: https://www.socallinuxexpo.org/scale/22x/presentations/bringing-cpu-variables-rust-linux