CVE-2026-22996
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
25/01/2026
Last modified:
25/01/2026
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
net/mlx5e: Don&#39;t store mlx5e_priv in mlx5e_dev devlink priv<br />
<br />
mlx5e_priv is an unstable structure that can be memset(0) if profile<br />
attaching fails, mlx5e_priv in mlx5e_dev devlink private is used to<br />
reference the netdev and mdev associated with that struct. Instead,<br />
store netdev directly into mlx5e_dev and get mdev from the containing<br />
mlx5_adev aux device structure.<br />
<br />
This fixes a kernel oops in mlx5e_remove when switchdev mode fails due<br />
to change profile failure.<br />
<br />
$ devlink dev eswitch set pci/0000:00:03.0 mode switchdev<br />
Error: mlx5_core: Failed setting eswitch to offloads.<br />
dmesg:<br />
workqueue: Failed to create a rescuer kthread for wq "mlx5e": -EINTR<br />
mlx5_core 0012:03:00.1: mlx5e_netdev_init_profile:6214:(pid 37199): mlx5e_priv_init failed, err=-12<br />
mlx5_core 0012:03:00.1 gpu3rdma1: mlx5e_netdev_change_profile: new profile init failed, -12<br />
workqueue: Failed to create a rescuer kthread for wq "mlx5e": -EINTR<br />
mlx5_core 0012:03:00.1: mlx5e_netdev_init_profile:6214:(pid 37199): mlx5e_priv_init failed, err=-12<br />
mlx5_core 0012:03:00.1 gpu3rdma1: mlx5e_netdev_change_profile: failed to rollback to orig profile, -12<br />
<br />
$ devlink dev reload pci/0000:00:03.0 ==> oops<br />
<br />
BUG: kernel NULL pointer dereference, address: 0000000000000520<br />
#PF: supervisor read access in kernel mode<br />
#PF: error_code(0x0000) - not-present page<br />
PGD 0 P4D 0<br />
Oops: Oops: 0000 [#1] SMP NOPTI<br />
CPU: 3 UID: 0 PID: 521 Comm: devlink Not tainted 6.18.0-rc5+ #117 PREEMPT(voluntary)<br />
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-2.fc40 04/01/2014<br />
RIP: 0010:mlx5e_remove+0x68/0x130<br />
RSP: 0018:ffffc900034838f0 EFLAGS: 00010246<br />
RAX: ffff88810283c380 RBX: ffff888101874400 RCX: ffffffff826ffc45<br />
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000<br />
RBP: ffff888102d789c0 R08: ffff8881007137f0 R09: ffff888100264e10<br />
R10: ffffc90003483898 R11: ffffc900034838a0 R12: ffff888100d261a0<br />
R13: ffff888100d261a0 R14: ffff8881018749a0 R15: ffff888101874400<br />
FS: 00007f8565fea740(0000) GS:ffff88856a759000(0000) knlGS:0000000000000000<br />
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033<br />
CR2: 0000000000000520 CR3: 000000010b11a004 CR4: 0000000000370ef0<br />
Call Trace:<br />
<br />
device_release_driver_internal+0x19c/0x200<br />
bus_remove_device+0xc6/0x130<br />
device_del+0x160/0x3d0<br />
? devl_param_driverinit_value_get+0x2d/0x90<br />
mlx5_detach_device+0x89/0xe0<br />
mlx5_unload_one_devl_locked+0x3a/0x70<br />
mlx5_devlink_reload_down+0xc8/0x220<br />
devlink_reload+0x7d/0x260<br />
devlink_nl_reload_doit+0x45b/0x5a0<br />
genl_family_rcv_msg_doit+0xe8/0x140



