Re: [PATCH 2/2] module: Re-enable dynamic debugging forGPL-compatible OOT modules

From: Ben Hutchings
Date: Mon Oct 31 2011 - 09:44:56 EST


On Mon, 2011-10-31 at 12:29 +1030, Rusty Russell wrote:
> On Fri, 28 Oct 2011 04:38:14 +0100, Ben Hutchings <ben@xxxxxxxxxxxxxxx> wrote:
> > Dynamic debugging was enabled for GPL-compatible out-of-tree modules
> > until my addition of TAINT_OOT_MODULE. It should continue to be
> > enabled now.
>
> Please just remove the test entirely.
>
> AFAICT there's nothing unique to dynamic debug which means it should
> avoid taint. If it oopses, we'll learn all about tainting in the oops
> message.

It looks like the dynamic debug facility is not meant to be available to
proprietary modules.

Ben.

> > Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
> > ---
> > kernel/module.c | 4 ++--
> > 1 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/kernel/module.c b/kernel/module.c
> > index dab585e..448fd77 100644
> > --- a/kernel/module.c
> > +++ b/kernel/module.c
> > @@ -2881,7 +2881,7 @@ static struct module *load_module(void __user *umod,
> > }
> >
> > /* This has to be done once we're sure module name is unique. */
> > - if (!mod->taints || mod->taints == (1U<<TAINT_CRAP))
> > + if (!(mod->taints & ~(1U << TAINT_CRAP | 1U << TAINT_OOT_MODULE)))
> > dynamic_debug_setup(info.debug, info.num_debug);
> >
> > /* Find duplicate symbols */
> > @@ -2918,7 +2918,7 @@ static struct module *load_module(void __user *umod,
> > module_bug_cleanup(mod);
> >
> > ddebug:
> > - if (!mod->taints || mod->taints == (1U<<TAINT_CRAP))
> > + if (!(mod->taints & ~(1U << TAINT_CRAP | 1U << TAINT_OOT_MODULE)))
> > dynamic_debug_remove(info.debug);
> > unlock:
> > mutex_unlock(&module_mutex);
> > --
> > 1.7.7
> >
> >
>

--
Ben Hutchings
Computers are not intelligent. They only think they are.

Attachment: signature.asc
Description: This is a digitally signed message part