---
# System prepended metadata

title: Meeting 2024-12-11
tags: [meeting notes]

---

# 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