Date: Mon, 28 Mar 2011 16:58:48 +0000 (UTC) From: Pyun YongHyeon <yongari@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/dev/fxp if_fxp.c Message-ID: <201103281659.p2SGx5NR073273@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
yongari 2011-03-28 16:58:48 UTC
FreeBSD src repository
Modified files:
sys/dev/fxp if_fxp.c
Log:
SVN rev 220103 on 2011-03-28 16:58:48Z by yongari
Normally fxp(4) does not receive bad frames but promiscuous mode
makes controller to receive bad frames and i82557 will also receive
bad frames since fxp(4) have to receive VLAN oversized frames. If
fxp(4) encounter DMA overrun error, the received frame size would
be 0 so the actual frame size after checksum field extraction the
length would be negative(-2). Due to signed/unsigned comparison
used in driver, frame length check did not work for DMA overrun
frames. Correct this by casting it to int.
While I'm here explicitly check DMA overrun error and discard the
frame regardless of result of received frame length check.
Reported by: n_hibma
Tested by: n_hibma
MFC after: 1 week
Revision Changes Path
1.315 +2 -2 src/sys/dev/fxp/if_fxp.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201103281659.p2SGx5NR073273>
