Re: no version magic, tainting kernel.

From: Kai Germaschewski (kai@tp1.ruhr-uni-bochum.de)
Date: Sun Jan 26 2003 - 13:02:42 EST


On Mon, 27 Jan 2003, Keith Owens wrote:

> Christian Zander <zander@minion.de> wrote:
> >The new module
> >is thus built using gcc 3.0, but init/vermagic.o still indicates gcc
> >2.95; the module loader will erroneously believe everything is fine.
>
> Congratulations, you have put your finger on a major design flaw in
> modversions that has been there since 2.0 kernel days. The modversion
> data is generated once and everything else blindly uses it, with _NO_
> checks on whether it is still valid or not. Rusty knows damn well that
> this is broken, but appears to be ignoring that fact (Rusty, see my
> mail to you and Alan Cox on Wed, 24 Oct 2001 14:14:18 +1000).

First of all, "modversions" has been used to designate the process of
module symbols versioning in the past years, which the above is not. The
version magic string is supposed to be a simple check against obvious
errors like kernel version mismatch between kernel and module and also to
protect against incompatibilities which the ABI checksums (which
modversions is about) cannot detect, like incompatible compiler versions.

As such, the information is known beforehand and now complicated
bookkeeping needed here. (Also, as I just pointed out in a another mail,
the above scenario is not possible).

Now your comments seem to rather apply to the actual module symbol
versioning process, which I just posted a patch for. Things are handled
very much differently now, if you have technical comments on that patch,
they'd be much appreciated.

--Kai

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



This archive was generated by hypermail 2b29 : Fri Jan 31 2003 - 22:00:15 EST