I suspect it's a kernel data structure corruption: I noticed yesterday
that two "unrelated" changes I had done for interrupt handling actually
resulted in a nasty lack of protection from interrupts in bottom half
handlers.
Essentially, a bottom half handler is incorrectly considered to be a
hardware interrupt by the interrupt disable logic and as a result a
"cli()" won't actually protect against interrupts on other CPU's. I
have a fix for it, but I'll need to test it further. Expect a 2.1.83
soon,
Linus