# 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