2.2.0-pre6: Problem with module versions since...

Martijn van Oosterhout (v3100411@student.anu.edu.au)
Mon, 11 Jan 1999 02:04:44 +1100


After finding that I couldn't share modules between
different pre releases (let alone different kernel
versions) I decided to do some looking.

Correct me if I'm wrong, but a "versioned" kernel
is a kernel where the symbols have been checksummed
to allow loading of modules of different. For example,
this kernel is "versioned":

kleptog//>grep printk /proc/ksyms
c01113a8 printk_Rdd132261
kleptog//>grep CONFIG_MOD /usr/src/linux/.config
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y

I have modutils-2.1.121 and it won't allow loading
of modules from a different kernel version without
at least a warning, but I thought it was supposed to
be safe.

Anyway, insmod detects a "versioned" kernel by looking
for a symbol "Using_Versions", defined in kernel/ksyms.c.
The symbol is not in /proc/ksyms, /System.map nor anywhere
else in the source tree. insmod can't find it either.

The thing is, that peice of code NEVER gets included usefully
anywhere. If __GENKSYMS__ is not defined, it is ifdef-fed
out. If __GENKSYMS__ is defined, it's not in a format
that genksyms seems to recognize. So either the code is redundent
or it is a bug. 2.0.36 does it properly.
-----------------------------------------------------------------
Also, make dep seems to recurse through _all_ subdirectories,
including ones I never use (like drivers/macintosh).
ie: One goes through $(ALL_SUB_DIRS), the other through
$(SUB_DIRS). Maybe it should recurse through
$(sort $(SUB_DIRS) $(MOD_SUB_DIRS) $(MOD_IN_SUB_DIRS))
-----------------------------------------------------------------
It is my understanding devfs will make it into the kernel
sooner of later... is this true?
-----------------------------------------------------------------
Other than that, 2.2.0 has worked 100% perfectly...

Martijn van Oosterhout
Australia

PS: Why do people send the Linus and CC this list? Surely
Linus is on this list and thus he gets it twice?

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