Messages in this thread | | | Date | Wed, 9 Nov 2016 05:12:01 -0500 | From | Jessica Yu <> | Subject | Re: module: Ensure a module's state is set accordingly during module coming cleanup code |
| |
+++ Rusty Russell [26/10/16 11:24 +1030]: >Aaron Tomlin <atomlin@redhat.com> writes: >> In load_module() in the event of an error, for e.g. unknown module >> parameter(s) specified we go to perform some module coming clean up >> operations. At this point the module is still in a "formed" state >> when it is actually going away. >> >> This patch updates the module's state accordingly to ensure anyone on the >> module_notify_list waiting for a module going away notification will be >> notified accordingly. > >I recall a similar proposal before. > >I've audited all the subscribers to check they didn't look at >mod->state; they seem OK. > >We actually do this in the init-failed path, so this should be OK.
We did discuss a similar proposal before:
https://lkml.kernel.org/r/87a8m7ko6j.fsf@rustcorp.com.au
The complaint back then was that we need to be in the COMING state for strong_try_module_get() to fail. But it will also correctly fail for GOING modules in the module_is_live() check in the subsequent call to try_module_get(), so I believe we are still OK here.
Jessica
| |