In the Linux kernel, the following vulnerability has been resolved:
net/mlx5e: Fix crash on profile change rollback failure
mlx5e_netdev_change_profile can fail to attach a new profile and can fail to rollback to old profile, in such case, we could end up with a dangling netdev with a fully reset netdev_priv. A retry to change profile, e.g. another attempt to call mlx5e_netdev_change_profile via switchdev mode change, will crash trying to access the now NULL priv->mdev.
This fix allows mlx5e_netdev_change_profile() to handle previous failures and an empty priv, by not assuming priv is valid.
Pass netdev and mdev to all flows requiring mlx5e_netdev_change_profile() and avoid passing priv. In mlx5e_netdev_change_profile() check if current priv is valid, and if not, just attach the new profile without trying to access the old one.
This fixes the following oops, when enabling switchdev mode for the 2nd time after first time failure:
## Enabling switchdev mode first time:
mlx5_core 0012:03:00.1: E-Switch: Supported tc chains and prios offload workqueue: Failed to create a rescuer kthread for wq "mlx5e": -EINTR mlx5_core 0012:03:00.1: mlx5e_netdev_init_profile:6214:(pid 37199): mlx5e_priv_init failed, err=-12 mlx5_core 0012:03:00.1 gpu3rdma1: mlx5e_netdev_change_profile: new profile init failed, -12 workqueue: Failed to create a rescuer kthread for wq "mlx5e": -EINTR mlx5_core 0012:03:00.1: mlx5e_netdev_init_profile:6214:(pid 37199): mlx5e_priv_init failed, err=-12 mlx5_core 0012:03:00.1 gpu3rdma1: mlx5e_netdev_change_profile: failed to rollback to orig profile, -12 ^^^^^^^^ mlx5_core 0000:00:03.0: E-Switch: Disable: mode(LEGACY), nvfs(0), necvfs(0), active vports(0)
## retry: Enabling switchdev mode 2nd time:
mlx5_core 0000:00:03.0: E-Switch: Supported tc chains and prios offload BUG: kernel NULL pointer dereference, address: 0000000000000038 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: Oops: 0000 [#1] SMP NOPTI CPU: 13 UID: 0 PID: 520 Comm: devlink Not tainted 6.18.0-rc4+ #91 PREEMPT(voluntary) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-2.fc40 04/01/2014 RIP: 0010:mlx5e_detach_netdev+0x3c/0x90 Code: 50 00 00 f0 80 4f 78 02 48 8b bf e8 07 00 00 48 85 ff 74 16 48 8b 73 78 48 d1 ee 83 e6 01 83 f6 01 40 0f b6 f6 e8 c4 42 00 00 <48> 8b 45 38 48 85 c0 74 08 48 89 df e8 cc 47 40 1e 48 8b bb f0 07 RSP: 0018:ffffc90000673890 EFLAGS: 00010246 RAX: 0000000000000000 RBX: ffff8881036a89c0 RCX: 0000000000000000 RDX: ffff888113f63800 RSI: ffffffff822fe720 RDI: 0000000000000000 RBP: 0000000000000000 R08: 0000000000002dcd R09: 0000000000000000 R10: ffffc900006738e8 R11: 00000000ffffffff R12: 0000000000000000 R13: 0000000000000000 R14: ffff8881036a89c0 R15: 0000000000000000 FS: 00007fdfb8384740(0000) GS:ffff88856a9d6000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000038 CR3: 0000000112ae0005 CR4: 0000000000370ef0 Call Trace: <TASK> mlx5e_netdev_change_profile+0x45/0xb0 mlx5e_vport_rep_load+0x27b/0x2d0 mlx5_esw_offloads_rep_load+0x72/0xf0 esw_offloads_enable+0x5d0/0x970 mlx5_eswitch_enable_locked+0x349/0x430 ? is_mp_supported+0x57/0xb0 mlx5_devlink_eswitch_mode_set+0x26b/0x430 devlink_nl_eswitch_set_doit+0x6f/0xf0 genl_family_rcv_msg_doit+0xe8/0x140 genl_rcv_msg+0x18b/0x290 ? __pfx_devlink_nl_pre_doit+0x10/0x10 ? __pfx_devlink_nl_eswitch_set_doit+0x10/0x10 ? __pfx_devlink_nl_post_doit+0x10/0x10 ? __pfx_genl_rcv_msg+0x10/0x10 netlink_rcv_skb+0x52/0x100 genl_rcv+0x28/0x40 netlink_unicast+0x282/0x3e0 ? __alloc_skb+0xd6/0x190 netlink_sendmsg+0x1f7/0x430 __sys_sendto+0x213/0x220 ? __sys_recvmsg+0x6a/0xd0 __x64_sys_sendto+0x24/0x30 do_syscall_64+0x50/0x1f0 entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0033:0x7fdfb8495047
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade kernel6.12-libbpf-debuginfoUpgrade kernel6.12-headersUpgrade bpftool6.12Upgrade kernel6.12-libbpf-develUpgrade perf6.12Upgrade kernel6.12-libbpf-staticUpgrade bpftool6.12-debuginfoUpgrade kernel6.12-tools-debuginfoUpgrade kernel6.12-tools-develUpgrade kernel6.12-debuginfoUpgrade kernel-livepatch-6.12.68-92.122Upgrade kernel6.12-debuginfo-common-x86_64Upgrade python3-perf6.12Upgrade kernel6.12-modules-extra-commonUpgrade kernel6.12-debuginfo-common-aarch64Upgrade python3-perf6.12-debuginfoUpgrade kernel6.12-libbpfUpgrade kernel6.12-toolsUpgrade kernel6.12-develUpgrade perf6.12-debuginfoUpgrade kernel6.12Upgrade kernel6.12-modules-extra | Mar 9, 2026 | Jan 25, 2026 |
| Debian | — | Upgrade linux | Jul 23, 2026 | Jul 23, 2026 |
| Oracle_linux | — | Upgrade kernel-uek | Mar 12, 2026 | Jan 25, 2026 |
| Redhat_linux | — | No solution exists | Jul 17, 2026 | Jan 25, 2026 |
| Suse | — | Upgrade kernel-azure-optionalUpgrade dtb-alteraUpgrade cluster-md-kmp-64kbUpgrade gfs2-kmp-azureUpgrade dtb-qcomUpgrade kernel-devel-azureUpgrade dtb-xilinxUpgrade kernel-obs-buildUpgrade kernel-rt-develUpgrade dtb-exynosUpgrade kselftests-kmp-64kbUpgrade cluster-md-kmp-rtUpgrade dtb-rockchipUpgrade gfs2-kmp-rtUpgrade kernel-defaultUpgrade kernel-azure-develUpgrade kernel-rt-extraUpgrade dtb-sprdUpgrade dlm-kmp-64kbUpgrade ocfs2-kmp-defaultUpgrade dtb-armUpgrade kernel-kvmsmallUpgrade kernel-rtUpgrade kernel-sourceUpgrade dtb-caviumUpgrade dtb-allwinnerUpgrade kernel-syms-azureUpgrade gfs2-kmp-defaultUpgrade ocfs2-kmp-azureUpgrade kernel-default-vdsoUpgrade dtb-mediatekUpgrade kernel-64kb-develUpgrade dtb-nvidiaUpgrade kernel-develUpgrade dtb-apmUpgrade kernel-default-optionalUpgrade dlm-kmp-azureUpgrade dtb-marvellUpgrade dlm-kmp-defaultUpgrade kselftests-kmp-rtUpgrade kernel-symsUpgrade kernel-kvmsmall-vdsoUpgrade kernel-docs-htmlUpgrade dtb-socionextUpgrade kernel-obs-qaUpgrade kernel-docsUpgrade kernel-azureUpgrade dtb-broadcomUpgrade dtb-lgUpgrade kernel-macrosUpgrade dtb-amlogicUpgrade kernel-rt-optionalUpgrade kernel-64kb-optionalUpgrade kselftests-kmp-azureUpgrade gfs2-kmp-64kbUpgrade kernel-azure-extraUpgrade kernel-default-extraUpgrade kernel-azure-vdsoUpgrade dtb-appleUpgrade dlm-kmp-rtUpgrade kernel-source-azureUpgrade kernel-kvmsmall-develUpgrade kernel-64kbUpgrade dtb-hisiliconUpgrade ocfs2-kmp-64kbUpgrade kernel-default-develUpgrade dtb-freescaleUpgrade kernel-rt-vdsoUpgrade kernel-source-vanillaUpgrade cluster-md-kmp-azureUpgrade kselftests-kmp-defaultUpgrade dtb-amazonUpgrade cluster-md-kmp-defaultUpgrade ocfs2-kmp-rtUpgrade kernel-zfcpdumpUpgrade reiserfs-kmp-defaultUpgrade dtb-amdUpgrade kernel-default-livepatchUpgrade kernel-64kb-extraUpgrade dtb-renesasUpgrade kernel-default-base | Feb 12, 2026 | Feb 12, 2026 |
| Ubuntu | — | Upgrade linux-image-aws-fipsUpgrade linux-image-aws-fips-6.8Upgrade linux-image-fipsUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-6.8.0-1058-gcp-fipsUpgrade linux-image-oem-6.17Upgrade linux-image-azure-fdeUpgrade linux-image-raspi-6.8Upgrade linux-image-6.17.0-1019-oracleUpgrade linux-image-virtual-6.8Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.17.0-1031-nvidia-64kUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.8.0-1058-gcpUpgrade linux-image-6.8.0-117-generic-64kUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-oracle-64k-6.17Upgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-azure-lts-24.04Upgrade linux-image-generic-64k-6.8Upgrade linux-image-nvidia-6.8Upgrade linux-image-gcp-fipsUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-gcp-64kUpgrade linux-image-gcp-6.8Upgrade linux-image-6.8.0-117-genericUpgrade linux-image-6.8.1-1051-realtimeUpgrade linux-image-6.8.0-1058-gcp-64kUpgrade linux-image-6.8.0-1041-gkeopUpgrade linux-image-xilinx-6.8Upgrade linux-image-6.17.0-1021-gcp-64kUpgrade linux-image-6.8.0-1054-nvidiaUpgrade linux-image-gcp-64k-6.17Upgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-nvidia-6.17Upgrade linux-image-6.8.0-1055-ibmUpgrade linux-image-azureUpgrade linux-image-azure-fde-6.17Upgrade linux-image-6.8.0-1055-aws-fipsUpgrade linux-image-oracle-6.17Upgrade linux-image-6.8.0-1055-aws-64kUpgrade linux-image-gcp-6.17Upgrade linux-image-nvidia-64k-6.17Upgrade linux-image-oem-24.04bUpgrade linux-image-6.8.0-1032-xilinxUpgrade linux-image-lowlatency-6.8Upgrade linux-image-6.17.0-1021-gcpUpgrade linux-image-6.8.0-116-fipsUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-generic-lpaeUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-azure-fipsUpgrade linux-image-ibm-classicUpgrade linux-image-realtime-6.8.1Upgrade linux-image-gke-64kUpgrade linux-image-ibmUpgrade linux-image-6.8.0-117-lowlatencyUpgrade linux-image-aws-6.8Upgrade linux-image-raspiUpgrade linux-image-oracleUpgrade linux-image-kvmUpgrade linux-image-nvidia-64kUpgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-2045-raspi-realtimeUpgrade linux-image-raspi-realtimeUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-nvidia-hwe-24.04Upgrade linux-image-gkeopUpgrade linux-image-azure-6.17Upgrade linux-image-6.8.0-1059-azure-fipsUpgrade linux-image-6.8.0-1054-gke-64kUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-oem-24.04dUpgrade linux-image-oem-24.04aUpgrade linux-image-gke-6.8Upgrade linux-image-azure-6.8Upgrade linux-image-virtualUpgrade linux-image-nvidia-64k-hwe-24.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-aws-64k-6.8Upgrade linux-image-6.8.0-1024-nvidia-tegraUpgrade linux-image-6.8.0-1054-nvidia-lowlatency-64kUpgrade linux-image-gcpUpgrade linux-image-xilinxUpgrade linux-image-oem-24.04cUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-ibm-6.8Upgrade linux-image-generic-64kUpgrade linux-image-6.8.0-1054-gkeUpgrade linux-image-6.17.0-1018-azure-fdeUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-realtime-6.17Upgrade linux-image-nvidia-tegraUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-6.8.0-1054-nvidia-lowlatencyUpgrade linux-image-6.8.0-1054-nvidia-64kUpgrade linux-image-6.8.0-1056-azureUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-realtimeUpgrade linux-image-aws-lts-24.04Upgrade linux-image-6.8.0-1056-raspiUpgrade linux-image-generic-6.8Upgrade linux-image-6.8.0-1024-nvidia-tegra-rtUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-oem-24.04Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-6.17.0-1031-nvidiaUpgrade linux-image-gke-64k-6.8Upgrade linux-image-6.17.0-1019-oracle-64kUpgrade linux-image-6.8.0-1055-awsUpgrade linux-image-6.17.0-1021-azureUpgrade linux-image-6.8.0-117-lowlatency-64kUpgrade linux-image-intel-iotgUpgrade linux-image-fips-6.8Upgrade linux-image-6.17.0-1018-realtimeUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-nvidiaUpgrade linux-image-gkeUpgrade linux-image-genericUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-lowlatency-64kUpgrade linux-image-azure-fips-6.8Upgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-1059-azureUpgrade linux-image-6.17.0-1030-oem | May 25, 2026 | May 19, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Sep 15, 2026 | Jan 25, 2026 |
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