Messages in this thread | | | From | Keith Owens <> | Subject | Re: no version magic, tainting kernel. | Date | Mon, 27 Jan 2003 00:33:27 +1100 |
| |
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/
| |