In the Linux kernel, the following vulnerability has been resolved:
eth: bnxt: always recalculate features after XDP clearing, fix null-deref
Recalculate features when XDP is detached.
Before: # ip li set dev eth0 xdp obj xdp_dummy.bpf.o sec xdp # ip li set dev eth0 xdp off # ethtool -k eth0 | grep gro rx-gro-hw: off [requested on]
After: # ip li set dev eth0 xdp obj xdp_dummy.bpf.o sec xdp # ip li set dev eth0 xdp off # ethtool -k eth0 | grep gro rx-gro-hw: on
The fact that HW-GRO doesn't get re-enabled automatically is just a minor annoyance. The real issue is that the features will randomly come back during another reconfiguration which just happens to invoke netdev_update_features(). The driver doesn't handle reconfiguring two things at a time very robustly.
Starting with commit 98ba1d931f61 ("bnxt_en: Fix RSS logic in __bnxt_reserve_rings()") we only reconfigure the RSS hash table if the "effective" number of Rx rings has changed. If HW-GRO is enabled "effective" number of rings is 2x what user sees. So if we are in the bad state, with HW-GRO re-enablement "pending" after XDP off, and we lower the rings by / 2 - the HW-GRO rings doing 2x and the ethtool -L doing / 2 may cancel each other out, and the:
if (old_rx_rings != bp->hw_resc.resv_rx_rings &&
condition in __bnxt_reserve_rings() will be false. The RSS map won't get updated, and we'll crash with:
BUG: kernel NULL pointer dereference, address: 0000000000000168 RIP: 0010:__bnxt_hwrm_vnic_set_rss+0x13a/0x1a0 bnxt_hwrm_vnic_rss_cfg_p5+0x47/0x180 __bnxt_setup_vnic_p5+0x58/0x110 bnxt_init_nic+0xb72/0xf50 __bnxt_open_nic+0x40d/0xab0 bnxt_open_nic+0x2b/0x60 ethtool_set_channels+0x18c/0x1d0
As we try to access a freed ring.
The issue is present since XDP support was added, really, but prior to commit 98ba1d931f61 ("bnxt_en: Fix RSS logic in __bnxt_reserve_rings()") it wasn't causing major issues.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linuxUpgrade linux-6.1 | May 15, 2025 | Jan 31, 2025 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernel-toolsUpgrade bpftoolUpgrade kernel-abi-stablelistsUpgrade kernelUpgrade python3-perfUpgrade kernel-tools-libs | Jun 13, 2025 | Jan 31, 2025 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-tools-libsUpgrade kernel-abi-stablelistsUpgrade kernelUpgrade kernel-toolsUpgrade python3-perfUpgrade bpftool | May 7, 2025 | Jan 31, 2025 |
| Huawei Euleros 2_0_sp13 | — | Upgrade bpftoolUpgrade python3-perfUpgrade kernel-tools-libsUpgrade kernel-toolsUpgrade kernel-abi-stablelistsUpgrade kernel | Jun 11, 2025 | Jan 31, 2025 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | Jan 31, 2025 |
| Suse | — | Upgrade cluster-md-kmp-azureUpgrade dtb-caviumUpgrade cluster-md-kmp-rtUpgrade kernel-64kb-develUpgrade kernel-zfcpdumpUpgrade ocfs2-kmp-defaultUpgrade kernel-default-optionalUpgrade kernel-rtUpgrade kernel-azure-optionalUpgrade dtb-alteraUpgrade dtb-apmUpgrade kernel-64kb-optionalUpgrade kernel-symsUpgrade gfs2-kmp-64kbUpgrade kernel-develUpgrade kernel-source-rtUpgrade kernel-kvmsmallUpgrade dtb-xilinxUpgrade kernel-default-livepatchUpgrade ocfs2-kmp-rtUpgrade dtb-broadcomUpgrade dtb-lgUpgrade reiserfs-kmp-64kbUpgrade kernel-rt-optionalUpgrade kernel-rt_debug-develUpgrade kernel-obs-qaUpgrade kernel-sourceUpgrade gfs2-kmp-azureUpgrade kernel-default-base-rebuildUpgrade kernel-docs-htmlUpgrade kernel-syms-azureUpgrade kernel-kvmsmall-develUpgrade gfs2-kmp-rtUpgrade kernel-azure-develUpgrade kernel-macrosUpgrade dlm-kmp-64kbUpgrade dtb-exynosUpgrade dtb-freescaleUpgrade kernel-devel-azureUpgrade kernel-default-develUpgrade kernel-azure-extraUpgrade kernel-default-extraUpgrade dtb-amazonUpgrade kselftests-kmp-azureUpgrade kernel-source-azureUpgrade kselftests-kmp-64kbUpgrade kernel-64kbUpgrade dtb-qcomUpgrade kernel-default-vdsoUpgrade kernel-rt-develUpgrade ocfs2-kmp-64kbUpgrade dtb-amlogicUpgrade kernel-default-baseUpgrade kernel-syms-rtUpgrade kernel-kvmsmall-vdsoUpgrade kernel-debug-vdsoUpgrade kernel-debug-develUpgrade kernel-source-vanillaUpgrade reiserfs-kmp-defaultUpgrade dtb-mediatekUpgrade dtb-hisiliconUpgrade kernel-rt-vdsoUpgrade gfs2-kmp-defaultUpgrade kernel-docsUpgrade kernel-default-livepatch-develUpgrade dtb-socionextUpgrade reiserfs-kmp-rtUpgrade kernel-azure-vdsoUpgrade kernel-devel-rtUpgrade dtb-nvidiaUpgrade dtb-allwinnerUpgrade kernel-rt-extraUpgrade dtb-sprdUpgrade dlm-kmp-defaultUpgrade cluster-md-kmp-defaultUpgrade kernel-rt_debug-vdsoUpgrade kselftests-kmp-rtUpgrade dtb-armUpgrade kselftests-kmp-defaultUpgrade kernel-rt-livepatch-develUpgrade ocfs2-kmp-azureUpgrade kernel-debugUpgrade kernel-64kb-extraUpgrade cluster-md-kmp-64kbUpgrade kernel-obs-buildUpgrade dtb-renesasUpgrade dtb-appleUpgrade reiserfs-kmp-azureUpgrade kernel-defaultUpgrade dtb-rockchipUpgrade dtb-amdUpgrade kernel-default-manUpgrade kernel-rt_debugUpgrade kernel-azureUpgrade dlm-kmp-azureUpgrade dlm-kmp-rtUpgrade dtb-marvell | Feb 12, 2025 | Jan 31, 2025 |
| Ubuntu | — | Upgrade linux-image-generic-lpaeUpgrade linux-image-virtualUpgrade linux-image-6.11.0-1012-lowlatency-64kUpgrade linux-image-oracleUpgrade linux-image-6.8.0-62-genericUpgrade linux-image-6.8.0-1029-nvidiaUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.11.0-1013-azureUpgrade linux-image-6.8.0-62-lowlatencyUpgrade linux-image-6.8.0-2024-raspi-realtimeUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-gkeop-6.8Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-6.11.0-1014-oracle-64kUpgrade linux-image-6.8.0-1030-azureUpgrade linux-image-6.11.0-1013-gcpUpgrade linux-image-oem-24.04bUpgrade linux-image-6.8.0-64-genericUpgrade linux-image-6.8.0-1029-nvidia-64kUpgrade linux-image-6.8.0-1029-nvidia-lowlatency-64kUpgrade linux-image-gkeUpgrade linux-image-6.11.0-1020-oemUpgrade linux-image-nvidiaUpgrade linux-image-6.11.0-1012-lowlatencyUpgrade linux-image-6.8.0-1030-aws-64kUpgrade linux-image-nvidia-6.8Upgrade linux-image-oem-24.04Upgrade linux-image-6.8.0-1029-raspiUpgrade linux-image-6.8.0-1030-azure-fdeUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-ibm-classicUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-oem-22.04aUpgrade linux-image-genericUpgrade linux-image-lowlatencyUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-azure-nvidiaUpgrade linux-image-6.8.0-62-lowlatency-64kUpgrade linux-image-6.8.1-1023-realtimeUpgrade linux-image-6.11.0-1008-realtimeUpgrade linux-image-generic-64kUpgrade linux-image-6.8.0-1013-gkeopUpgrade linux-image-azure-lts-24.04Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-oem-22.04Upgrade linux-image-6.8.0-1027-oracleUpgrade linux-image-6.8.0-62-generic-64kUpgrade linux-image-gkeopUpgrade linux-image-6.8.0-1031-gcpUpgrade linux-image-ibmUpgrade linux-image-6.8.0-1027-ibmUpgrade linux-image-aws-64kUpgrade linux-image-aws-lts-24.04Upgrade linux-image-raspiUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-1031-gcp-64kUpgrade linux-image-6.11.0-24-genericUpgrade linux-image-awsUpgrade linux-image-6.11.0-1012-awsUpgrade linux-image-realtimeUpgrade linux-image-oem-22.04dUpgrade linux-image-6.11.0-1014-oracleUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-6.8.0-1030-awsUpgrade linux-image-6.11.0-1013-gcp-64kUpgrade linux-image-6.8.0-1027-oracle-64kUpgrade linux-image-oem-24.04aUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.11.0-1011-raspiUpgrade linux-image-6.8.0-1018-azure-nvidiaUpgrade linux-image-6.11.0-1013-azure-fdeUpgrade linux-image-6.8.0-64-generic-64kUpgrade linux-image-oracle-64kUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-oem-22.04bUpgrade linux-image-oem-22.04cUpgrade linux-image-generic-64k-6.8Upgrade linux-image-6.11.0-24-generic-64kUpgrade linux-image-generic-6.8Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-virtual-6.8Upgrade linux-image-kvmUpgrade linux-image-6.8.0-1029-nvidia-lowlatencyUpgrade linux-image-gcpUpgrade linux-image-azureUpgrade linux-image-nvidia-64kUpgrade linux-image-azure-fdeUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-6.8.0-1026-gkeUpgrade linux-image-raspi-realtimeUpgrade linux-image-6.8.0-1029-oemUpgrade linux-image-gcp-64k | Apr 24, 2025 | Jan 31, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | May 27, 2026 | Jan 31, 2025 |
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub