CVE-2022-48884

net/mlx5: Fix command stats access after free

published August 21, 2024

CVSS
—
EPSS
0%
Percentile
10.0
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

net/mlx5: Fix command stats access after free

Command may fail while driver is reloading and can't accept FW commands

till command interface is reinitialized. Such command failure is being

logged to command stats. This results in NULL pointer access as command

stats structure is being freed and reallocated during mlx5 devlink

reload (see kernel log below).

Fix it by making command stats statically allocated on driver probe.

Kernel log:

[ 2394.808802] BUG: unable to handle kernel paging request at 000000000002a9c0

[ 2394.810610] PGD 0 P4D 0

[ 2394.811811] Oops: 0002 [#1] SMP NOPTI

...

[ 2394.815482] RIP: 0010:native_queued_spin_lock_slowpath+0x183/0x1d0

...

[ 2394.829505] Call Trace:

[ 2394.830667] _raw_spin_lock_irq+0x23/0x26

[ 2394.831858] cmd_status_err+0x55/0x110 [mlx5_core]

[ 2394.833020] mlx5_access_reg+0xe7/0x150 [mlx5_core]

[ 2394.834175] mlx5_query_port_ptys+0x78/0xa0 [mlx5_core]

[ 2394.835337] mlx5e_ethtool_get_link_ksettings+0x74/0x590 [mlx5_core]

[ 2394.836454] ? kmem_cache_alloc_trace+0x140/0x1c0

[ 2394.837562] __rh_call_get_link_ksettings+0x33/0x100

[ 2394.838663] ? __rtnl_unlock+0x25/0x50

[ 2394.839755] __ethtool_get_link_ksettings+0x72/0x150

[ 2394.840862] duplex_show+0x6e/0xc0

[ 2394.841963] dev_attr_show+0x1c/0x40

[ 2394.843048] sysfs_kf_seq_show+0x9b/0x100

[ 2394.844123] seq_read+0x153/0x410

[ 2394.845187] vfs_read+0x91/0x140

[ 2394.846226] ksys_read+0x4f/0xb0

[ 2394.847234] do_syscall_64+0x5b/0x1a0

[ 2394.848228] entry_SYSCALL_64_after_hwframe+0x65/0xca

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00205 · 10.0th percentile
Published
2024-08-21T06:10Z
EPSS history
Timeline
  • 21 AUG 06:10Z
    net/mlx5: Fix command stats access after free
    cvelistv5