git: 0787b1f5b8bd - main - ixgbe: supply PF transmit contexts under SR-IOV
Kevin Bowling <[email protected]> Mon, 03 Aug 2026 12:44:57 +0000
| Newsgroups | gmane.os.freebsd.devel.cvs.src |
|---|---|
| Message-ID | <6a708d49.2296d.382ea052__20995.5229702004$1785761114$gmane$org@gitrepo.freebsd.org> |
The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=0787b1f5b8bdfcaed97eeee7bfbd7f14ac162b0d commit 0787b1f5b8bdfcaed97eeee7bfbd7f14ac162b0d Author: Kevin Bowling <[email protected]> AuthorDate: 2026-08-01 12:41:22 +0000 Commit: Kevin Bowling <[email protected]> CommitDate: 2026-08-03 12:44:47 +0000 ixgbe: supply PF transmit contexts under SR-IOV X550-family malicious-driver detection validates the transmit context selected by a data descriptor with Check Context set. ixgbe sets that bit on every transmit data descriptor, but ordinary PF packets without a VLAN or checksum offload do not create a context descriptor. The empty context then reports an invalid MAC-header length and blocks the PF queue as soon as MDD is enabled. Create the existing context descriptor for every PF packet while SR-IOV is active. This supplies the required MAC-header length and keeps MDD from mistaking normal PF traffic for a malicious-driver event. MFC after: 1 week --- sys/dev/ixgbe/ix_txrx.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/ixgbe/ix_txrx.c b/sys/dev/ixgbe/ix_txrx.c index 76c718e2c252..3dda3270a2de 100644 --- a/sys/dev/ixgbe/ix_txrx.c +++ b/sys/dev/ixgbe/ix_txrx.c @@ -197,6 +197,7 @@ ixgbe_isc_txd_encap(void *arg, if_pkt_info_t pi) TXD = (struct ixgbe_adv_tx_context_desc *) &txr->tx_base[first]; if ((pi->ipi_csum_flags & CSUM_OFFLOAD) || (sc->feat_en & IXGBE_FEATURE_NEEDS_CTXD) || + (sc->feat_en & IXGBE_FEATURE_SRIOV) || pi->ipi_vtag) { /********************************************* * Set up the appropriate offload context