Skip to content
OpenAdvisories
Unscored CVE-2021-46931 EUVD-2021-33579GHSA-5gx7-f5j6-6r9q

net/mlx5e: Wrap the tx reporter dump callback to extract the sq

Published Feb 27, 2024 · Updated May 11, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: linux Package: linux-allwinner-5.19 Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.8 Package: linux-aws-6.2 Package: linux-azure Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.8 Package: linux-azure-6.2 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.2 Package: linux-gcp Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.8 Package: linux-gcp-6.2 Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.19 Package: linux-hwe-5.8 Package: linux-hwe-6.2 Package: linux-hwe-edge Package: linux-intel-5.13 Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.2 Package: linux-nvidia-6.2 Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.3 Package: linux-oracle-5.8 Package: linux-raspi2 Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Platform: Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

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

net/mlx5e: Wrap the tx reporter dump callback to extract the sq

Function mlx5e_tx_reporter_dump_sq() casts its void * argument to struct
mlx5e_txqsq *, but in TX-timeout-recovery flow the argument is actually
of type struct mlx5e_tx_timeout_ctx *.

mlx5_core 0000:08:00.1 enp8s0f1: TX timeout detected
mlx5_core 0000:08:00.1 enp8s0f1: TX timeout on queue: 1, SQ: 0x11ec, CQ: 0x146d, SQ Cons: 0x0 SQ Prod: 0x1, usecs since last trans: 21565000
BUG: stack guard page was hit at 0000000093f1a2de (stack is 00000000b66ea0dc..000000004d932dae)
kernel stack overflow (page fault): 0000 [#1] SMP NOPTI
CPU: 5 PID: 95 Comm: kworker/u20:1 Tainted: G W OE 5.13.0_mlnx #1
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
Workqueue: mlx5e mlx5e_tx_timeout_work [mlx5_core]
RIP: 0010:mlx5e_tx_reporter_dump_sq+0xd3/0x180
[mlx5_core]
Call Trace:
mlx5e_tx_reporter_dump+0x43/0x1c0 [mlx5_core]
devlink_health_do_dump.part.91+0x71/0xd0
devlink_health_report+0x157/0x1b0
mlx5e_reporter_tx_timeout+0xb9/0xf0 [mlx5_core]
? mlx5e_tx_reporter_err_cqe_recover+0x1d0/0x1d0
[mlx5_core]
? mlx5e_health_queue_dump+0xd0/0xd0 [mlx5_core]
? update_load_avg+0x19b/0x550
? set_next_entity+0x72/0x80
? pick_next_task_fair+0x227/0x340
? finish_task_switch+0xa2/0x280
mlx5e_tx_timeout_work+0x83/0xb0 [mlx5_core]
process_one_work+0x1de/0x3a0
worker_thread+0x2d/0x3c0
? process_one_work+0x3a0/0x3a0
kthread+0x115/0x130
? kthread_park+0x90/0x90
ret_from_fork+0x1f/0x30
--[ end trace 51ccabea504edaff ]---
RIP: 0010:mlx5e_tx_reporter_dump_sq+0xd3/0x180
PKRU: 55555554
Kernel panic - not syncing: Fatal exception
Kernel Offset: disabled
end Kernel panic - not syncing: Fatal exception

To fix this bug add a wrapper for mlx5e_tx_reporter_dump_sq() which
extracts the sq from struct mlx5e_tx_timeout_ctx and set it as the
TX-timeout-recovery flow dump callback.

Affected products

VendorProductAffectedFixed
Linux Linux 5.7 5.10.90

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 linux 5.15.15-1 —
Debian 13 linux 5.15.15-1 —
Debian 12 linux 5.15.15-1 —
ReleasePackageFixed inAdvisory
Ubuntu 22.04 LTS linux-riscv +20 No fix yet —
Ubuntu 20.04 LTS linux-gke +26 No fix yet —
Ubuntu 18.04 LTS linux-gcp +14 No fix yet —
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
ReleasePackageFixed inAdvisory
SLES 15 SP5 kernel-64kb +6 5.14.21-150500.55.59.1 SUSE-SU-2024:1480-1
SLES 15 SP5 kernel-azure +2 5.14.21-150500.33.48.1 SUSE-SU-2024:1490-1
SLES 15 SP5 kernel-default-base 5.14.21-150500.55.59.1.150500.6.25.7 SUSE-SU-2024:1480-1
SLES 15 SP4 kernel-64kb +6 5.14.21-150400.24.116.1 SUSE-SU-2024:1321-1
SLES 15 SP4 kernel-default-base 5.14.21-150400.24.116.1.150400.24.54.5 SUSE-SU-2024:1321-1
SLES 15 SP3 kernel-64kb +7 5.3.18-150300.59.158.1 SUSE-SU-2024:1489-1
SLES 15 SP3 kernel-default-base 5.3.18-150300.59.158.1.150300.18.92.5 SUSE-SU-2024:1489-1
Show 16 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 15 SP4 kernel-default-base 5.14.21-150400.24.116.1.150400.24.54.5 SUSE-SU-2024:1321-1
SLES for SAP 15 SP4 kernel-docs +4 5.14.21-150400.24.116.1 SUSE-SU-2024:1321-1
SLES for SAP 15 SP3 kernel-default-base 5.3.18-150300.59.158.1.150300.18.92.5 SUSE-SU-2024:1489-1
SLES for SAP 15 SP3 kernel-docs +5 5.3.18-150300.59.158.1 SUSE-SU-2024:1489-1
SLE Micro 5.5 kernel-default 5.14.21-150500.55.59.1 SUSE-SU-2024:1480-1
SLE Micro 5.5 kernel-default-base 5.14.21-150500.55.59.1.150500.6.25.7 SUSE-SU-2024:1480-1
SLE Micro 5.5 kernel-rt +1 5.14.21-150500.13.47.1 SUSE-SU-2024:1466-1
SLE Micro 5.4 kernel-default 5.14.21-150400.24.116.1 SUSE-SU-2024:1321-1
SLE Micro 5.4 kernel-default-base 5.14.21-150400.24.116.1.150400.24.54.5 SUSE-SU-2024:1321-1
SLE Micro 5.4 kernel-rt +1 5.14.21-150400.15.76.1 SUSE-SU-2024:1320-1
SLE Micro 5.3 kernel-default 5.14.21-150400.24.116.1 SUSE-SU-2024:1321-1
SLE Micro 5.3 kernel-default-base 5.14.21-150400.24.116.1.150400.24.54.5 SUSE-SU-2024:1321-1
SLE Micro 5.3 kernel-rt +1 5.14.21-150400.15.76.1 SUSE-SU-2024:1320-1
SLE Micro 5.2 kernel-default 5.3.18-150300.59.158.1 SUSE-SU-2024:1489-1
SLE Micro 5.2 kernel-default-base 5.3.18-150300.59.158.1.150300.18.92.5 SUSE-SU-2024:1489-1
SLE Micro 5.2 kernel-rt +1 5.3.18-150300.166.1 SUSE-SU-2024:1465-1
SLE Micro 5.1 kernel-default 5.3.18-150300.59.158.1 SUSE-SU-2024:1489-1
SLE Micro 5.1 kernel-default-base 5.3.18-150300.59.158.1.150300.18.92.5 SUSE-SU-2024:1489-1
SLE Micro 5.1 kernel-rt +1 5.3.18-150300.166.1 SUSE-SU-2024:1465-1
SLE Live Patching 15 SP5 kernel-default 5.14.21-150500.55.59.1 SUSE-SU-2024:1480-1
SLE Live Patching 15 SP5 kernel-livepatch-SLE15-SP5-RT_Update_13 1-150500.11.3.1 SUSE-SU-2024:1466-1
SLE Live Patching 15 SP5 kernel-livepatch-SLE15-SP5_Update_12 1-150500.11.7.1 SUSE-SU-2024:1480-1
SLE Live Patching 15 SP4 kernel-default 5.14.21-150400.24.116.1 SUSE-SU-2024:1321-1
SLE Live Patching 15 SP4 kernel-livepatch-SLE15-SP4_Update_25 1-150400.9.5.1 SUSE-SU-2024:1321-1
SLE Live Patching 15 SP3 kernel-default 5.3.18-150300.59.158.1 SUSE-SU-2024:1489-1
SLE Live Patching 15 SP3 kernel-livepatch-SLE15-SP3_Update_43 1-150300.7.3.5 SUSE-SU-2024:1489-1
SLE HPC 15 SP4 kernel-64kb +5 5.14.21-150400.24.116.1 SUSE-SU-2024:1321-1
SLE HPC 15 SP4 kernel-default-base 5.14.21-150400.24.116.1.150400.24.54.5 SUSE-SU-2024:1321-1
SLE HPC 15 SP3 kernel-64kb +6 5.3.18-150300.59.158.1 SUSE-SU-2024:1489-1
SLE HPC 15 SP3 kernel-default-base 5.3.18-150300.59.158.1.150300.18.92.5 SUSE-SU-2024:1489-1
SUSE Real Time Module 15 SP5 kernel-rt +3 5.14.21-150500.13.47.1 SUSE-SU-2024:1466-1
SUSE Manager Server 4.3 kernel-default-base 5.14.21-150400.24.116.1.150400.24.54.5 SUSE-SU-2024:1321-1
SUSE Manager Server 4.3 kernel-syms +3 5.14.21-150400.24.116.1 SUSE-SU-2024:1321-1
SUSE Manager Proxy 4.3 kernel-default-base 5.14.21-150400.24.116.1.150400.24.54.5 SUSE-SU-2024:1321-1
SUSE Manager Proxy 4.3 kernel-syms +2 5.14.21-150400.24.116.1 SUSE-SU-2024:1321-1
SUSE Enterprise Storage 7.1 kernel-64kb +6 5.3.18-150300.59.158.1 SUSE-SU-2024:1489-1
SUSE Enterprise Storage 7.1 kernel-default-base 5.3.18-150300.59.158.1.150300.18.92.5 SUSE-SU-2024:1489-1
ReleasePackageFixed inAdvisory
openSUSE Leap 15.5 dtb-aarch64 +10 5.14.21-150500.55.59.1 SUSE-SU-2024:1480-1
openSUSE Leap 15.5 kernel-azure +2 5.14.21-150500.33.48.1 SUSE-SU-2024:1490-1
openSUSE Leap 15.5 kernel-default-base 5.14.21-150500.55.59.1.150500.6.25.7 SUSE-SU-2024:1480-1
openSUSE Leap 15.5 kernel-rt +3 5.14.21-150500.13.47.1 SUSE-SU-2024:1466-1
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
openSUSE Leap Micro 5.4 kernel-default 5.14.21-150400.24.116.1 SUSE-SU-2024:1321-1
openSUSE Leap Micro 5.4 kernel-default-base 5.14.21-150400.24.116.1.150400.24.54.5 SUSE-SU-2024:1321-1
openSUSE Leap Micro 5.4 kernel-rt 5.14.21-150400.15.76.1 SUSE-SU-2024:1320-1
openSUSE Leap Micro 5.3 kernel-default 5.14.21-150400.24.116.1 SUSE-SU-2024:1321-1
openSUSE Leap Micro 5.3 kernel-default-base 5.14.21-150400.24.116.1.150400.24.54.5 SUSE-SU-2024:1321-1
openSUSE Leap Micro 5.3 kernel-rt 5.14.21-150400.15.76.1 SUSE-SU-2024:1320-1

Advisories 8

References