---
# System prepended metadata

title: Meeting 2023-05-10
tags: [meeting notes]

---

# Meeting 2023-05-10
<!-- 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 -->

## Discussion Questions
<!-- Anything that requires lengthy discussion/more general questions also fit here -->

### Binder's dependencies

Alice: I sent Wedson some more of his patches that I depend on. Maybe Wedson wants to change some things before upstreamnig.

Wedson: We want to take this opportunity to do some cleanup and improve the abstractions. One problem that we have is that modules cannot be unloaded (since that is unsound).

Miguel: Wedson proposed in the `module!` macro that we add an `unsafe` field that allows unloading (then the user needs to check that there is no unsoundness).

Benno: What is this unsoundness?

Wedson: E.g. a user loads a Rust file driver opens a file, unloads the driver and then closes the file.

Benno: How does C solve that problem?

Wedson: there is a pointer in the VTABLE of the fd to the module and it increments the refcount. Rust cannot do this, since we cannot take a reference to a const from within a const.

Consensus for unloading: add `unsafe` option in `module!` to allow unloading.

Consensus: Alice will prepare Wedsons patches for submission and discuss with Wedson.

### Lock guard type split for IRQ save

Gary has a prototype here: https://github.com/nbdd0121/linux/commit/01ae567f6c192bdef2e6e5997769ee2314ff78cd

Wedson's changes for rwsem:
https://github.com/wedsonaf/linux/commits/rwsem

Gary: Bound on `Lock::B` can be removed.

Benno: shouldn't `Lock` generic over `I`?

Gary: need a default lock backend

Alice: Reentrant lock needs to be ReadOnly

Consensus: remove `B: Backend` bound and make `Lock` generic.


### Reviewer's Recommendations

Benno: I added some things to <https://hackmd.io/nus9R_GeSeynF09RFBkjCQ>. I think we should at some point discuss these. My points are still a bit rough, so I would like to formulate them a bit better.



## Miscellaneous
<!-- stuff that does not fit into other categories -->

* [ ] Meeting changes: Every meeting slot after the -rc1 is out will become an open meeting for everyone
* [ ] Upcoming drm meeting
 * https://lore.kernel.org/rust-for-linux/ZC2rbZzho2YMi5cq@phenom.ffwll.local/
 * https://lore.kernel.org/rust-for-linux/ZC6zSnB6pSELiy+I@phenom.ffwll.local/
 * https://lore.kernel.org/rust-for-linux/ZC7T92F7K9XTZPZ1@phenom.ffwll.local/
 * https://lore.kernel.org/rust-for-linux/ZDfKLjKOfDHkEc1V@phenom.ffwll.local/
* [x] Upstreaming binder dependencies