Skip to content
Heist/ feed
Unrated

net/mlx5e: Fix publication race for priv->channel_stats[]

Type: advisorySource: Official CVE List1 source record

In the Linux kernel, the following vulnerability has been resolved: net/mlx5e: Fix publication race for priv->channel_stats[] mlx5e_channel_stats_alloc() publishes a new entry to priv->channel_stats[] and then increments priv->stats_nch as a publication token, but neither store carries any memory barrier: priv->channel_stats[ix] = kvzalloc_node(...); if (!priv->channel_stats[ix]) return -ENOMEM; priv->stats_nch++; Concurrent readers compute the loop bound from priv->stats_nch and then dereference priv->channel_stats[i] using plain accesses, e.g. for (i = 0; i < priv->stats_nch; i++) { struct mlx5e_channel_stats *cs = priv->channel_stats[i]; ... cs->rq.packets ... } On weakly-ordered architectures (ARM, PowerPC, RISC-V) the writes to channel_stats[ix] and stats_nch may become visible to other CPUs out of program order. A reader can observe stats_nch == N while still seeing channel_stats[N-1] == NULL, leading to a NULL pointer dereference in the channel_stats loop. This has been observed in production on BlueField-3 DPUs (arm64), where ovs-vswitchd queries netdev statistics over netlink during NIC bringup, racing mlx5e_open_channel() -> mlx5e_channel_stats_alloc() on another CPU: Unable to handle kernel NULL pointer dereference at virtual address 0x840 Hardware name: BlueField-3 DPU pc : mlx5e_fold_sw_stats64+0x30/0x180 [mlx5_core] Call trace: mlx5e_fold_sw_stats64+0x30/0x180 [mlx5_core] dev_get_stats+0x50/0xc0 ovs_vport_get_stats+0x38/0xac [openvswitch] ovs_vport_cmd_fill_info

Announced Source revision 1
Original source ↗

CVE-2026-72341

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2026-72341

Linux

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Linux

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "fa691d0c9c0812b9045f3a9420862e47b3b92518",
        "lessThan": "268869794170af37727816ad02051808adb9c9c3",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "fa691d0c9c0812b9045f3a9420862e47b3b92518",
        "lessThan": "acd34d24342a28794e706ce8191ca6c3114a38ae",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "fa691d0c9c0812b9045f3a9420862e47b3b92518",
        "lessThan": "5c7e3755abf663f033de24f917b77685e9543045",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "fa691d0c9c0812b9045f3a9420862e47b3b92518",
        "lessThan": "815515ec68f527ca755cb1e2c1ff9148f6b3ea56",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "fa691d0c9c0812b9045f3a9420862e47b3b92518",
        "lessThan": "5a799714e8ca0bce9ea40694f49914cf1adbbaa9",
        "versionType": "git"
      }
    ],
    "programFiles": [
      "drivers/net/ethernet/mellanox/mlx5/core/en.h",
      "drivers/net/ethernet/mellanox/mlx5/core/en/hv_vhca_stats.c",
      "drivers/net/ethernet/mellanox/mlx5/core/en_main.c",
      "drivers/net/ethernet/mellanox/mlx5/core/en_stats.c",
      "drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "5.17"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "5.17",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "6.6.160",
        "versionType": "semver",
        "lessThanOrEqual": "6.6.*"
      },
      {
        "status": "unaffected",
        "version": "6.12.114",
        "versionType": "semver",
        "lessThanOrEqual": "6.12.*"
      },
      {
        "status": "unaffected",
        "version": "6.18.40",
        "versionType": "semver",
        "lessThanOrEqual": "6.18.*"
      },
      {
        "status": "unaffected",
        "version": "7.1.5",
        "versionType": "semver",
        "lessThanOrEqual": "7.1.*"
      },
      {
        "status": "unaffected",
        "version": "7.2",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "drivers/net/ethernet/mellanox/mlx5/core/en.h",
      "drivers/net/ethernet/mellanox/mlx5/core/en/hv_vhca_stats.c",
      "drivers/net/ethernet/mellanox/mlx5/core/en_main.c",
      "drivers/net/ethernet/mellanox/mlx5/core/en_stats.c",
      "drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2026-72341

Source reference: /cveMetadata/cveId

Publisher severity

No explicit severity was provided.

Event
#46506 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement