# 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