HarborGuard / CVE
Back to search
HIGHCVE-2026-43466Published Modified CNA Linux

CVE-2026-43466: net/mlx5e: Fix DMA FIFO desync on error CQE SQ recovery

In the Linux kernel, the following vulnerability has been resolved: net/mlx5e: Fix DMA FIFO desync on error CQE SQ recovery In case of a TX error CQE, a recovery flow is triggered, mlx5e_reset_txqsq_cc_pc() resets dma_fifo_cc to 0 but not dma_fifo_pc, desyncing the DMA FIFO producer and consumer. After recovery, the producer pushes new DMA entries at the old dma_fifo_pc, while the consumer reads from position 0. This causes us to unmap stale DMA addresses from before the recovery. The DMA FIFO is a purely software construct with no HW counterpart. At the point of reset, all WQEs have been flushed so dma_fifo_cc is already equal to dma_fifo_pc. There is no need to reset either counter, similar to how skb_fifo pc/cc are untouched. Remove the 'dma_fifo_cc = 0' reset. This fixes the following WARNING: WARNING: CPU: 0 PID: 0 at drivers/iommu/dma-iommu.c:1240 iommu_dma_unmap_page+0x79/0x90 Modules linked in: mlx5_vdpa vringh vdpa bonding mlx5_ib mlx5_vfio_pci ipip mlx5_fwctl tunnel4 mlx5_core ib_ipoib geneve ip6_gre ip_gre gre nf_tables ip6_tunnel rdma_ucm ib_uverbs ib_umad vfio_pci vfio_pci_core act_mirred act_skbedit act_vlan vhost_net vhost tap ip6table_mangle ip6table_nat ip6table_filter ip6_tables iptable_mangle cls_matchall nfnetlink_cttimeout act_gact cls_flower sch_ingress vhost_iotlb iptable_raw tunnel6 vfio_iommu_type1 vfio openvswitch nsh rpcsec_gss_krb5 auth_rpcgss oid_registry xt_conntrack xt_MASQUERADE nf_conntrack_netlink nfnetlink iptable_nat nf_nat xt_addrtype br_netfilter overlay zram zsmalloc rpcrdma ib_iser libiscsi scsi_transport_iscsi rdma_cm iw_cm ib_cm ib_core fuse [last unloaded: nf_tables] CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Not tainted 6.13.0-rc5_for_upstream_min_debug_2024_12_30_21_33 #1 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014 RIP: 0010:iommu_dma_unmap_page+0x79/0x90 Code: 2b 4d 3b 21 72 26 4d 3b 61 08 73 20 49 89 d8 44 89 f9 5b 4c 89 f2 4c 89 e6 48 89 ef 5d 41 5c 41 5d 41 5e 41 5f e9 c7 ae 9e ff <0f> 0b 5b 5d 41 5c 41 5d 41 5e 41 5f c3 66 2e 0f 1f 84 00 00 00 00 Call Trace: <IRQ> ? __warn+0x7d/0x110 ? iommu_dma_unmap_page+0x79/0x90 ? report_bug+0x16d/0x180 ? handle_bug+0x4f/0x90 ? exc_invalid_op+0x14/0x70 ? asm_exc_invalid_op+0x16/0x20 ? iommu_dma_unmap_page+0x79/0x90 ? iommu_dma_unmap_page+0x2e/0x90 dma_unmap_page_attrs+0x10d/0x1b0 mlx5e_tx_wi_dma_unmap+0xbe/0x120 [mlx5_core] mlx5e_poll_tx_cq+0x16d/0x690 [mlx5_core] mlx5e_napi_poll+0x8b/0xac0 [mlx5_core] __napi_poll+0x24/0x190 net_rx_action+0x32a/0x3b0 ? mlx5_eq_comp_int+0x7e/0x270 [mlx5_core] ? notifier_call_chain+0x35/0xa0 handle_softirqs+0xc9/0x270 irq_exit_rcu+0x71/0xd0 common_interrupt+0x7f/0xa0 </IRQ> <TASK> asm_common_interrupt+0x22/0x40

Metrics

CVSS v3.1
8.2
Severity
HIGH
Fixed in
0
Affected Products
2

Fix available

01633111d69053512d099658d4a05fc736fab36b0383b37c04a4827ba60b2bafc1a6cdfd995aed58f5.10.2535.15.2036.1.1676.6.1306.12.786.18.196.19.96eb68ecc5acc3b319986566c595990b8a7265b236f41f7812bfa7f991b732a4b45c5c52fc4be3b4e7.0821f85d619f7f22cda7b9d7de89cf5eeb1d11544829efcccfa8f69db5dc8332961295587d218cee69c5ee9b981ee050b73fdf3f4a2464d6f1a8e10a8ce1b19dd0684eeb68a124c11085bd611260b36d9
Affected packages
  • Linux / Linux
    < 821f85d619f7f22cda7b9d7de89cf5eeb1d11544 (from db75373c91b0cfb6a68ad6ae88721e4e21ae6261) · < 6eb68ecc5acc3b319986566c595990b8a7265b23 (from db75373c91b0cfb6a68ad6ae88721e4e21ae6261) · < 6f41f7812bfa7f991b732a4b45c5c52fc4be3b4e (from db75373c91b0cfb6a68ad6ae88721e4e21ae6261) · < 383b37c04a4827ba60b2bafc1a6cdfd995aed58f (from db75373c91b0cfb6a68ad6ae88721e4e21ae6261) · < 9c5ee9b981ee050b73fdf3f4a2464d6f1a8e10a8 (from db75373c91b0cfb6a68ad6ae88721e4e21ae6261) · < ce1b19dd0684eeb68a124c11085bd611260b36d9 (from db75373c91b0cfb6a68ad6ae88721e4e21ae6261)
  • Linux / Linux
    4.17
    Fixed in 0, 5.10.253, 5.15.203, 6.1.167, 6.6.130, 6.12.78, 6.18.19, 6.19.9, 7.0
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H