Re: no version magic, tainting kernel.

From: Keith Owens (kaos@ocs.com.au)
Date: Sun Jan 26 2003 - 08:33:27 EST


On Sun, 26 Jan 2003 14:29:23 +0100,
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).

See http://unc.dl.sourceforge.net/sourceforge/kbuild/kbuild-2.5-history.tar.bz2,
in particular makefile-2.5_whereto.html. modversions relies on
assumptions that are not valid and therefore modversions are broken, as
noted by Christian Zander and others.

To do module versioning right needs global information about this
definitions and usage of exported symbols. It was one of the reasons
that kbuild 2.5 had a global database, in order to track symbol usage
and handle ABI versioning correctly.

-
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