On Wed, Feb 26, 2025 at 07:47:30PM -0400, Jason Gunthorpe wrote: > The way misc device works you can't unload the module until all the > FDs are closed and the misc code directly handles races with opening > new FDs while modules are unloading. It is quite a different scheme > than discussed in this thread. And I would argue that is it the _right_ scheme to be following overall here. Removing modules with in-flight devices/drivers is to me is odd, and only good for developers doing work, not for real systems, right? Yes, networking did add that functionality to allow modules to be unloaded with network connections open, and I'm guessing RDMA followed that, but really, why? What is the requirement that means that you have to do this for function pointers? I can understand the disconnect issue between devices and drivers and open file handles (or sockets), as that is a normal thing, but not removing code from the system, that is not normal. thanks, greg k-h