On Tue, Oct 19, 2021 at 08:50:24AM -0700, Luis Chamberlain wrote:
So do you want to take the position:
Hey driver authors: you cannot use any shared lock on module removal and on sysfs ops?
Yes, I would not recommend using such a lock at all. sysfs operations happen on a per-device basis, so you can lock the device structure. Module removal happens on a driver basis, and I have no idea what you want to lock there, but odds are it is NOT shared with your per-device structures either, right?
If so, then yes, that is a bug, but a very rare one as drivers should do almost nothing except register/unregister_driver() in their module init/exit calls.
zram is not a "normal" driver at all here, so fixing this type of problem up should be done in the zram code, it is not a generic module/sysfs issue at all.
thanks,
greg k-h