Date: Thu, 05 Aug 2021 18:51:14 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 257642] e1000 doesn't check for bad Rx UDP checksum Message-ID: <bug-257642-227@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D257642 Bug ID: 257642 Summary: e1000 doesn't check for bad Rx UDP checksum Product: Base System Version: 13.0-RELEASE Hardware: Any OS: Any Status: New Severity: Affects Many People Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: nreilly@blackberry.com The e1000 driver doesn't check for checksum errors on Rx UDP checksum, it m= arks all packets as having a good checksum. Suggested fix: diff --git a/sys/dev/e1000/em_txrx.c b/sys/dev/e1000/em_txrx.c index 458de96a7b9..1328e12daf4 100644 --- a/sys/dev/e1000/em_txrx.c +++ b/sys/dev/e1000/em_txrx.c @@ -797,7 +797,8 @@ em_receive_checksum(uint32_t status, if_rxd_info_t ri) ri->iri_csum_flags |=3D (CSUM_DATA_VALID | CSUM_PSEUDO_HDR); ri->iri_csum_data =3D htons(0xffff); } - if (status & E1000_RXD_STAT_UDPCS) { + if ((status & E1000_RXD_STAT_UDPCS | E1000_RXDEXT_STATERR_TCPE)) = =3D=3D + E1000_RXD_STAT_UDPCS) { ri->iri_csum_flags |=3D (CSUM_DATA_VALID | CSUM_PSEUDO_HDR); ri->iri_csum_data =3D htons(0xffff); } --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-257642-227>