We finally found the problem. I want to thank the folks who gave any thought and/or feedback to us, particularly Alexey and David. For what its worth we tracked it down to the kernel memory allocation routines allocating the same buffer to two different network requesters. This in turn was caused by a basic flaw in the preemption code that preempted on spin_unlock, REGARDLESS OF THE STATE OF THE INTERRUPT SYSTEM. -- George Anzinger george@mvista.com High-res-timers: http://sourceforge.net/projects/high-res-timers/ Real time sched: http://sourceforge.net/projects/rtsched/ Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html