Re: 2.0.35 and 2.0.36-pre7 w/multicast dies

Olaf Titz (olaf@bigred.inka.de)
Fri, 11 Sep 1998 12:36:01 +0200


> > > kernel: net_timer: timer expired - reason 0 is unknown
> wasn't recompiled. I use cipe (the Crypto IP Encapsulation) on this box to
> have a VPN across the internet, and I didn't recompile it after enabling
> multicasting.
> As adding multicasting grows the struct sock by 16 bytes, the cipe module and
> the kernel were exchanging mismatched struct sock. Hence the strange things
> on 2.0.3{5,6-pre7}. I'm amazed it didn't die more quickly of didn't oops...

I had precisely the same problem over a year ago, when I developed
that module, and made exactly the same config change. ;-) Only that I
blamed that on a possible bug in CIPE which I hunted for a day or two
to no effect...

The timer field in struct sock gets overwritten with some other stuff
by the mismatching module and the kernel tries to invoke a bogus
timer. If it was another field, it could have been a series of Oopses,
kernel panic, etc.

> Sometimes I just hate modules :-)

This way I learnt what MODVERSIONS is for. It is additional hassle to
compile but it prevents this kind of errors...

olaf

-
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/faq.html