Re: livepatch: Implement separate coming and going module notifiers

From: Steven Rostedt
Date: Fri Jan 29 2016 - 15:10:38 EST


On Fri, 29 Jan 2016 15:09:31 -0500
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> On Fri, 29 Jan 2016 15:04:51 -0500
> Jessica Yu <jeyu@xxxxxxxxxx> wrote:
>
> > >diff --git a/kernel/module.c b/kernel/module.c
> > >index 8358f46..aeabd81 100644
> > >--- a/kernel/module.c
> > >+++ b/kernel/module.c
> > >@@ -3371,6 +3371,13 @@ static int complete_formation(struct module *mod, struct load_info *info)
> > > mod->state = MODULE_STATE_COMING;
> > > mutex_unlock(&module_mutex);
> > >
> > >+ ftrace_module_enable(mod);
> > >+ err = klp_module_enable(mod);
> > >+ if (err) {
> > >+ ftrace_release_mod(mod);
> > >+ return err;
> > >+ }
> >
> > If we go this route, should we should print a big warning ("Livepatch
> > couldn't patch loading module X") instead of aborting the module load
> > completely?
>
> If anything, that should be done in klp_module_enable() not in the
> module code.

And I take that back. The module wont load. The user will notice that
before any console warning. Thus no warning needed.

-- Steve