Re: [PATCH v2][GIT PULL] tracing: Prevent unloadable modules from using trace_bprintk()

From: Rusty Russell
Date: Thu Oct 21 2010 - 23:43:39 EST


On Fri, 22 Oct 2010 09:04:23 am Steven Rostedt wrote:
> On Fri, 2010-10-22 at 08:05 +1030, Rusty Russell wrote:
> > On Fri, 22 Oct 2010 12:15:42 am Steven Rostedt wrote:
> > >
> > > Ingo,
> > >
> > > This is based off of my core-2 branch. I'm moved this patch after that
> > > so if anyone has any objections, I can change this patch without holding
> > > off the previous one.
> >
> > I think disabling use in modules is lazy,
>
> and safer.

Well then just delete trace_bprintk altogether. Even safer!

> > Can't you detect this on module unload and fix it up? Or delay freeing the
> > module until the trace ring is emptied?
>
> One possibility is to magically make all string formats used in
> trace_printk into its own section, and keep it allocated until the ring
> buffer is empty. Or, we can just do that with the module's entire string
> section, since we know whether or not that module has a trace_printk in
> it or not.

Exactly. Set a flag in the module if it resolves trace_printk, and defer freeing
the module in that case. This shouldn't be that hard...

Rusty.
--
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/