Messages in this thread | | | From | Rusty Russell <> | Subject | Re: [RFC PATCH 1/2] module: Ensure a module's state is set accordingly during module coming cleanup code | Date | Wed, 26 Oct 2016 11:24:32 +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.
Acked-by: Rusty Russell <rusty@rustcorp.com.au>
Thanks, Rusty.
> Signed-off-by: Aaron Tomlin <atomlin@redhat.com> > --- > kernel/module.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/kernel/module.c b/kernel/module.c > index f57dd63..ff93ab8 100644 > --- a/kernel/module.c > +++ b/kernel/module.c > @@ -3708,6 +3708,7 @@ static int load_module(struct load_info *info, const char __user *uargs, > sysfs_cleanup: > mod_sysfs_teardown(mod); > coming_cleanup: > + mod->state = MODULE_STATE_GOING; > blocking_notifier_call_chain(&module_notify_list, > MODULE_STATE_GOING, mod); > klp_module_going(mod); > -- > 2.5.5
| |