problems with "versioned symbols" in 2.0.30

Ulrich Windl (ulrich.windl@rz.uni-regensburg.de)
Fri, 10 Oct 1997 13:16:11 +0200


I think I have just discovered a problem with "type-safe module
loading": If you compile your kernel for a different processor model
than your modules (e.g. kernel is i486, modules are i386), the
alignment of some memory objects changes, but the version check won't
detect that. It's quite likely that your kernel will crash then.

It happened for me with the floppy module:

When trying to load the floppy module in 2.0.30 I got

inserting floppy driver for 2.0.30
Floppy drive(s): fd0 is 1.44M, fd1 is 1.2M
floppy0: Unable to grab IRQ6 for the floppy driver

I repeated the process several times, because IRQ6 is obviously
unused. Then suddenly the kernel rapidly wrote out some messages and
the PC reset.

Another time I got

floppy0: no floppy controllers found

After that a

cat /proc/interrupts

crashed the kernel (several fast messages again, then reset)

Ulrich