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

From: Rusty Russell
Date: Tue Mar 04 2008 - 20:44:29 EST


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.
mod->init_size is set to zero after init.

Kernel submitters learn not to express doubts about their patches, lest
they be dropped. But it makes the job of maintainers even harder, since we
don't know what's tested and what's an educated guess.

As to the actual patch, your kallsyms.c patch matches
a2da4052f1df6bc77749f84496fe731ab8b458f7's change to extable.c: please
resubmit with just that one. For bonus points, look at combining the extable
and kallsyms logic so we don't diverge in future...

Thanks!
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/