CVE-2026-43012 (GCVE-0-2026-43012)
Vulnerability from cvelistv5 – Published: 2026-05-01 14:15 – Updated: 2026-05-01 14:15
VLAI?
Title
net/mlx5: Fix switchdev mode rollback in case of failure
Summary
In the Linux kernel, the following vulnerability has been resolved:
net/mlx5: Fix switchdev mode rollback in case of failure
If for some internal reason switchdev mode fails, we rollback to legacy
mode, before this patch, rollback will unregister the uplink netdev and
leave it unregistered causing the below kernel bug.
To fix this, we need to avoid netdev unregister by setting the proper
rollback flag 'MLX5_PRIV_FLAGS_SWITCH_LEGACY' to indicate legacy mode.
devlink (431) used greatest stack depth: 11048 bytes left
mlx5_core 0000:00:03.0: E-Switch: Disable: mode(LEGACY), nvfs(0), \
necvfs(0), active vports(0)
mlx5_core 0000:00:03.0: E-Switch: Supported tc chains and prios offload
mlx5_core 0000:00:03.0: Loading uplink representor for vport 65535
mlx5_core 0000:00:03.0: mlx5_cmd_out_err:816:(pid 456): \
QUERY_HCA_CAP(0x100) op_mod(0x0) failed, \
status bad parameter(0x3), syndrome (0x3a3846), err(-22)
mlx5_core 0000:00:03.0 enp0s3np0 (unregistered): Unloading uplink \
representor for vport 65535
------------[ cut here ]------------
kernel BUG at net/core/dev.c:12070!
Oops: invalid opcode: 0000 [#1] SMP NOPTI
CPU: 2 UID: 0 PID: 456 Comm: devlink Not tainted 6.16.0-rc3+ \
#9 PREEMPT(voluntary)
RIP: 0010:unregister_netdevice_many_notify+0x123/0xae0
...
Call Trace:
[ 90.923094] unregister_netdevice_queue+0xad/0xf0
[ 90.923323] unregister_netdev+0x1c/0x40
[ 90.923522] mlx5e_vport_rep_unload+0x61/0xc6
[ 90.923736] esw_offloads_enable+0x8e6/0x920
[ 90.923947] mlx5_eswitch_enable_locked+0x349/0x430
[ 90.924182] ? is_mp_supported+0x57/0xb0
[ 90.924376] mlx5_devlink_eswitch_mode_set+0x167/0x350
[ 90.924628] devlink_nl_eswitch_set_doit+0x6f/0xf0
[ 90.924862] genl_family_rcv_msg_doit+0xe8/0x140
[ 90.925088] genl_rcv_msg+0x18b/0x290
[ 90.925269] ? __pfx_devlink_nl_pre_doit+0x10/0x10
[ 90.925506] ? __pfx_devlink_nl_eswitch_set_doit+0x10/0x10
[ 90.925766] ? __pfx_devlink_nl_post_doit+0x10/0x10
[ 90.926001] ? __pfx_genl_rcv_msg+0x10/0x10
[ 90.926206] netlink_rcv_skb+0x52/0x100
[ 90.926393] genl_rcv+0x28/0x40
[ 90.926557] netlink_unicast+0x27d/0x3d0
[ 90.926749] netlink_sendmsg+0x1f7/0x430
[ 90.926942] __sys_sendto+0x213/0x220
[ 90.927127] ? __sys_recvmsg+0x6a/0xd0
[ 90.927312] __x64_sys_sendto+0x24/0x30
[ 90.927504] do_syscall_64+0x50/0x1c0
[ 90.927687] entry_SYSCALL_64_after_hwframe+0x76/0x7e
[ 90.927929] RIP: 0033:0x7f7d0363e047
Severity ?
No CVSS data available.
Assigner
References
Impacted products
| Vendor | Product | Version | ||
|---|---|---|---|---|
| Linux | Linux |
Affected:
de85624c623dbb5fdb3ae7b08b66894a072c0cc0 , < 2ebb13f3e8be0b61f72425b34cce60c8b6ad1891
(git)
Affected: 2a4f56fbcc473d8faeb29b73082df39efbe5893c , < e27153b2bd6e6699b544ac4dfa35d167bed5e642 (git) Affected: 2a4f56fbcc473d8faeb29b73082df39efbe5893c , < 4363698838b7ec6e8d85b179495889aa7e522f91 (git) Affected: 2a4f56fbcc473d8faeb29b73082df39efbe5893c , < 403186400a1a6166efe7031edc549c15fee4723f (git) |
||
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "2ebb13f3e8be0b61f72425b34cce60c8b6ad1891",
"status": "affected",
"version": "de85624c623dbb5fdb3ae7b08b66894a072c0cc0",
"versionType": "git"
},
{
"lessThan": "e27153b2bd6e6699b544ac4dfa35d167bed5e642",
"status": "affected",
"version": "2a4f56fbcc473d8faeb29b73082df39efbe5893c",
"versionType": "git"
},
{
"lessThan": "4363698838b7ec6e8d85b179495889aa7e522f91",
"status": "affected",
"version": "2a4f56fbcc473d8faeb29b73082df39efbe5893c",
"versionType": "git"
},
{
"lessThan": "403186400a1a6166efe7031edc549c15fee4723f",
"status": "affected",
"version": "2a4f56fbcc473d8faeb29b73082df39efbe5893c",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "6.13"
},
{
"lessThan": "6.13",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.81",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.22",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.19.*",
"status": "unaffected",
"version": "6.19.12",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.0",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.81",
"versionStartIncluding": "6.12.9",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.22",
"versionStartIncluding": "6.13",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.19.12",
"versionStartIncluding": "6.13",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.0",
"versionStartIncluding": "6.13",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet/mlx5: Fix switchdev mode rollback in case of failure\n\nIf for some internal reason switchdev mode fails, we rollback to legacy\nmode, before this patch, rollback will unregister the uplink netdev and\nleave it unregistered causing the below kernel bug.\n\nTo fix this, we need to avoid netdev unregister by setting the proper\nrollback flag \u0027MLX5_PRIV_FLAGS_SWITCH_LEGACY\u0027 to indicate legacy mode.\n\ndevlink (431) used greatest stack depth: 11048 bytes left\nmlx5_core 0000:00:03.0: E-Switch: Disable: mode(LEGACY), nvfs(0), \\\n\tnecvfs(0), active vports(0)\nmlx5_core 0000:00:03.0: E-Switch: Supported tc chains and prios offload\nmlx5_core 0000:00:03.0: Loading uplink representor for vport 65535\nmlx5_core 0000:00:03.0: mlx5_cmd_out_err:816:(pid 456): \\\n\tQUERY_HCA_CAP(0x100) op_mod(0x0) failed, \\\n\tstatus bad parameter(0x3), syndrome (0x3a3846), err(-22)\nmlx5_core 0000:00:03.0 enp0s3np0 (unregistered): Unloading uplink \\\n\trepresentor for vport 65535\n ------------[ cut here ]------------\nkernel BUG at net/core/dev.c:12070!\nOops: invalid opcode: 0000 [#1] SMP NOPTI\nCPU: 2 UID: 0 PID: 456 Comm: devlink Not tainted 6.16.0-rc3+ \\\n\t#9 PREEMPT(voluntary)\nRIP: 0010:unregister_netdevice_many_notify+0x123/0xae0\n...\nCall Trace:\n[ 90.923094] unregister_netdevice_queue+0xad/0xf0\n[ 90.923323] unregister_netdev+0x1c/0x40\n[ 90.923522] mlx5e_vport_rep_unload+0x61/0xc6\n[ 90.923736] esw_offloads_enable+0x8e6/0x920\n[ 90.923947] mlx5_eswitch_enable_locked+0x349/0x430\n[ 90.924182] ? is_mp_supported+0x57/0xb0\n[ 90.924376] mlx5_devlink_eswitch_mode_set+0x167/0x350\n[ 90.924628] devlink_nl_eswitch_set_doit+0x6f/0xf0\n[ 90.924862] genl_family_rcv_msg_doit+0xe8/0x140\n[ 90.925088] genl_rcv_msg+0x18b/0x290\n[ 90.925269] ? __pfx_devlink_nl_pre_doit+0x10/0x10\n[ 90.925506] ? __pfx_devlink_nl_eswitch_set_doit+0x10/0x10\n[ 90.925766] ? __pfx_devlink_nl_post_doit+0x10/0x10\n[ 90.926001] ? __pfx_genl_rcv_msg+0x10/0x10\n[ 90.926206] netlink_rcv_skb+0x52/0x100\n[ 90.926393] genl_rcv+0x28/0x40\n[ 90.926557] netlink_unicast+0x27d/0x3d0\n[ 90.926749] netlink_sendmsg+0x1f7/0x430\n[ 90.926942] __sys_sendto+0x213/0x220\n[ 90.927127] ? __sys_recvmsg+0x6a/0xd0\n[ 90.927312] __x64_sys_sendto+0x24/0x30\n[ 90.927504] do_syscall_64+0x50/0x1c0\n[ 90.927687] entry_SYSCALL_64_after_hwframe+0x76/0x7e\n[ 90.927929] RIP: 0033:0x7f7d0363e047"
}
],
"providerMetadata": {
"dateUpdated": "2026-05-01T14:15:18.256Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/2ebb13f3e8be0b61f72425b34cce60c8b6ad1891"
},
{
"url": "https://git.kernel.org/stable/c/e27153b2bd6e6699b544ac4dfa35d167bed5e642"
},
{
"url": "https://git.kernel.org/stable/c/4363698838b7ec6e8d85b179495889aa7e522f91"
},
{
"url": "https://git.kernel.org/stable/c/403186400a1a6166efe7031edc549c15fee4723f"
}
],
"title": "net/mlx5: Fix switchdev mode rollback in case of failure",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-43012",
"datePublished": "2026-05-01T14:15:18.256Z",
"dateReserved": "2026-05-01T14:12:55.974Z",
"dateUpdated": "2026-05-01T14:15:18.256Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2026-43012",
"date": "2026-05-06",
"epss": "0.00018",
"percentile": "0.04643"
},
"nvd": "{\"cve\":{\"id\":\"CVE-2026-43012\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-05-01T15:16:45.117\",\"lastModified\":\"2026-05-01T15:24:14.893\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet/mlx5: Fix switchdev mode rollback in case of failure\\n\\nIf for some internal reason switchdev mode fails, we rollback to legacy\\nmode, before this patch, rollback will unregister the uplink netdev and\\nleave it unregistered causing the below kernel bug.\\n\\nTo fix this, we need to avoid netdev unregister by setting the proper\\nrollback flag \u0027MLX5_PRIV_FLAGS_SWITCH_LEGACY\u0027 to indicate legacy mode.\\n\\ndevlink (431) used greatest stack depth: 11048 bytes left\\nmlx5_core 0000:00:03.0: E-Switch: Disable: mode(LEGACY), nvfs(0), \\\\\\n\\tnecvfs(0), active vports(0)\\nmlx5_core 0000:00:03.0: E-Switch: Supported tc chains and prios offload\\nmlx5_core 0000:00:03.0: Loading uplink representor for vport 65535\\nmlx5_core 0000:00:03.0: mlx5_cmd_out_err:816:(pid 456): \\\\\\n\\tQUERY_HCA_CAP(0x100) op_mod(0x0) failed, \\\\\\n\\tstatus bad parameter(0x3), syndrome (0x3a3846), err(-22)\\nmlx5_core 0000:00:03.0 enp0s3np0 (unregistered): Unloading uplink \\\\\\n\\trepresentor for vport 65535\\n ------------[ cut here ]------------\\nkernel BUG at net/core/dev.c:12070!\\nOops: invalid opcode: 0000 [#1] SMP NOPTI\\nCPU: 2 UID: 0 PID: 456 Comm: devlink Not tainted 6.16.0-rc3+ \\\\\\n\\t#9 PREEMPT(voluntary)\\nRIP: 0010:unregister_netdevice_many_notify+0x123/0xae0\\n...\\nCall Trace:\\n[ 90.923094] unregister_netdevice_queue+0xad/0xf0\\n[ 90.923323] unregister_netdev+0x1c/0x40\\n[ 90.923522] mlx5e_vport_rep_unload+0x61/0xc6\\n[ 90.923736] esw_offloads_enable+0x8e6/0x920\\n[ 90.923947] mlx5_eswitch_enable_locked+0x349/0x430\\n[ 90.924182] ? is_mp_supported+0x57/0xb0\\n[ 90.924376] mlx5_devlink_eswitch_mode_set+0x167/0x350\\n[ 90.924628] devlink_nl_eswitch_set_doit+0x6f/0xf0\\n[ 90.924862] genl_family_rcv_msg_doit+0xe8/0x140\\n[ 90.925088] genl_rcv_msg+0x18b/0x290\\n[ 90.925269] ? __pfx_devlink_nl_pre_doit+0x10/0x10\\n[ 90.925506] ? __pfx_devlink_nl_eswitch_set_doit+0x10/0x10\\n[ 90.925766] ? __pfx_devlink_nl_post_doit+0x10/0x10\\n[ 90.926001] ? __pfx_genl_rcv_msg+0x10/0x10\\n[ 90.926206] netlink_rcv_skb+0x52/0x100\\n[ 90.926393] genl_rcv+0x28/0x40\\n[ 90.926557] netlink_unicast+0x27d/0x3d0\\n[ 90.926749] netlink_sendmsg+0x1f7/0x430\\n[ 90.926942] __sys_sendto+0x213/0x220\\n[ 90.927127] ? __sys_recvmsg+0x6a/0xd0\\n[ 90.927312] __x64_sys_sendto+0x24/0x30\\n[ 90.927504] do_syscall_64+0x50/0x1c0\\n[ 90.927687] entry_SYSCALL_64_after_hwframe+0x76/0x7e\\n[ 90.927929] RIP: 0033:0x7f7d0363e047\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/2ebb13f3e8be0b61f72425b34cce60c8b6ad1891\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/403186400a1a6166efe7031edc549c15fee4723f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/4363698838b7ec6e8d85b179495889aa7e522f91\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/e27153b2bd6e6699b544ac4dfa35d167bed5e642\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…