# 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