Re: PATCH [1/1]: Don't return symbol lables in init sections after they have been freed

From: Robin Getz
Date: Wed Mar 05 2008 - 12:52:08 EST


On Tue 4 Mar 2008 20:43, Rusty Russell pondered:
> On Wednesday 05 March 2008 10:47:15 Robin Getz wrote:
> > From: Robin Getz <rgetz@xxxxxxxxxxxxxxxxxxxx>
> >
> > Today, when module names are looked up, we do not qualify them (check to
> > see if the init section is still active or not). This can lead to problems
> > when kernel modules get loaded into the same address that the kernel init
> > section (or other module's init section was at). We sometimes return the
> > old / no lomnger there
> >
> > This leads to bogus OOPS messages, and developers wasting their time
> > looking for problems (in the kernel init section) where there are none
> > (since it was a module).
>
> Hi Robin,
>
> This is a great explanation, with only one problem: it isn't true.

I can replicate this on 2.6.24.3 (at least on noMMU) in the kernel init
section.

> mod->init_size is set to zero after init.

So, I have seen the problem on the init section, and suspected it could happen
on module init, but it looks like I missed that portion of the code - sorry.

> As to the actual patch, your kallsyms.c patch matches
> a2da4052f1df6bc77749f84496fe731ab8b458f7's change to extable.c: please
> resubmit with just that one.

Will do.

> For bonus points, look at combining the
> extable and kallsyms logic so we don't diverge in future...

Let me see what I can do.
--
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/