Messages in this thread | | | From | Thomas Schlichter <> | Subject | Re: no version magic, tainting kernel. | Date | Thu, 23 Jan 2003 18:32:59 +0100 |
| |
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 # 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
| |