Subject: Re: PCI network driver -- receive pkts with 0xDEADBEEF
To: Michael Richardson <mcr@sandelman.ottawa.on.ca>
From: Shashi Rao <shashi-list@bothan.net>
List: tech-net
Date: 02/07/2001 11:51:44
Le Wed, Feb 07, 2001 at 01:43:37PM -0500, Michael Richardson <mcr@sandelman.ottawa.on.ca> a ecrit:
:
: Is the packet otherwise intact? I.e. is 0xDEADBEEF prepended?
:
nope. it is all garbage (sometimes causing my input path to generate
page faults), and with the aid of the kernel debugger, and
breakpoints on the transmit path, i've determined that i dont
consciously ever "add" this packet to the transmit queue or write a
descriptor with bogus data. i'm suspecting some sort of race
condition in either the network card or the driver itself which
causes the transmit logic to pick a descriptor which i didnt plan on
using (something that might be stale from prior use and had its mbuf
freed, maybe)...
also, using a pci bus analyzer shows that the device actually goes
out and fetches (what seems like) a legitimate transmit descriptor
except that this descriptor seems to be pointing to an mbuf that
contains garbage (which i never put in there)
i mailed to this list in the hope that i would be pointed at "ah,
that you're getting 0xdeadbeef's in your bogus packets implies that
you're using freed pages/clusters/whatever and the kernel diagnostic
code writes the first four bytes on released structures just so you
can easily track it down", etc...
thanks
shashi
--
Shashi Rao