CVE-2026-43012 (GCVE-0-2026-43012)
Vulnerability from cvelistv5
Published
2026-05-01 14:15
Modified
2026-05-23 16:05
Severity ?
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
Impacted products
Vendor Product Version
Linux Linux Version: de85624c623dbb5fdb3ae7b08b66894a072c0cc0
Version: 2a4f56fbcc473d8faeb29b73082df39efbe5893c
Version: 2a4f56fbcc473d8faeb29b73082df39efbe5893c
Version: 2a4f56fbcc473d8faeb29b73082df39efbe5893c
Version: 6.12.9   
Create a notification for this product.
Show details on NVD website


{
  "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"
            },
            {
              "lessThan": "6.12.81",
              "status": "affected",
              "version": "6.12.9",
              "versionType": "semver"
            }
          ]
        },
        {
          "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-23T16:05:57.203Z",
        "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-23T16:05:57.203Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…