Re: no version magic, tainting kernel.

Thomas Schlichter (schlicht@uni-mannheim.de)
Thu, 23 Jan 2003 18:32:59 +0100


This is a MIME-formatted message. If you see this text it means that your
E-mail software does not support MIME-formatted messages.

--=_courier-3911-1043343230-0001-2
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 7bit
X-Mime-Autoconverted: from 8bit to 7bit by courier 0.39

Thanks for your answers!

I did not compile my module with a kernel Makefile, I used the very small and
simple one attatched to this mail. So it seems I miss something when the
module is linked and I have to know what I have to link to the module or
which header-file I have to include...

For me it seems link I have to link the init/vermagic.c file to my module, but
how would this be possible if only the kernel includes were available??
I think only these should be needed to compile a module...

Thomas Schlichter

Am Donnerstag, 23. Januar 2003 17:29 schrieb Randy.Dunlap:
> Did you rebuild the module with a 2.5.59 Makefile?
>
>
> Yes, it's a 2.5.59 change according to the Changelog at kernel.org:
>
> <QUOTE>
> <kai@tp1.ruhr-uni-bochum.de>
> Module Sanity Check
>
> This patch, based on Rusty's implementation,
> adds a special section to vmlinux and all modules, which
> contain the kernel version string, values of some
> particularly important config options (SMP,preempt,proc
> family) and the gcc version.
>
> When inserting a module, the version string is checked against the
> kernel version string and loading is rejected if they don't match.
>
> The version string is actually added to the modules during the final
> .ko generation, so that a changed version string does only cause relinking,
> not recompilation, which is a major performance improvement over the old
> 2.4 way of doing things.
> </QUOTE>

Am Donnerstag, 23. Januar 2003 17:52 schrieb Sam Ravnborg:
> What command did you use to build your module?
> If you did no use:
> make -C path/to/kernel/src SUBDIRS=$PWD modules
>
> chances are big you did not compile the module correct.
> This requires the Makefile to look like any other kernel (kbuild) makefile.
>
> Sam

--=_courier-3911-1043343230-0001-2
Content-Type: text/x-makefile; charset=iso-8859-1; name=Makefile
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="Makefile"

# get current release for include path
RELEASE = $(shell uname -r)

# set compile flags, defines and include directory
CFLAGS = -Wall -O2 -fno-common
INCLUDES = -I/lib/modules/$(RELEASE)/build/include
DEFINES = -D__KERNEL__ -DMODULE -DKBUILD_MODNAME="tlbstat"

all: tlbstat.o

tlbstat.o: tlbstat.c
gcc -c $(CFLAGS) $(INCLUDES) $(DEFINES) $<

clean:
rm -f tlbstat.o *~ core

--=_courier-3911-1043343230-0001-2--