Re: [PATCH] livepatch: add module locking around kallsyms calls

From: Jiri Kosina
Date: Tue Jun 02 2015 - 16:58:59 EST


On Tue, 2 Jun 2015, Josh Poimboeuf wrote:

> On Mon, Jun 01, 2015 at 05:48:37PM +0200, Miroslav Benes wrote:
> > The list of loaded modules is walked through in
> > module_kallsyms_on_each_symbol (called by kallsyms_on_each_symbol). The
> > module_mutex lock should be acquired to prevent potential corruptions
> > in the list.
> >
> > This was uncovered with new lockdep asserts in module code introduced by
> > the commit 0be964be0d45 ("module: Sanitize RCU usage and locking") in
> > recent next- trees.
> >
> > Signed-off-by: Miroslav Benes <mbenes@xxxxxxx>
>
> Thanks!
>
> Should we add a comment to kallsyms_on_each_symbol() so that others
> don't make this mistake?

Yeah, the locking rules in module loader are not really crystal clear (not
even after Peterz's revamp in -next), so some comment / lockdep assertion
might be helpful. But let's keep that separate from this functional fix in
klp.

> Acked-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>

I have now queued this in for-4.1/upstream-fixes, but I don't think I'll
rush this in for -final now, therefore I added Cc: stable as well. If
there is -rc7, I'll push it to Linus for -final early next week.

Thanks,

--
Jiri Kosina
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/