CVE-2026-23463CWE-362

CVE-2026-23463

Medium · published April 3, 2026

CVSS v3.1
4.7
EPSS
0%
Percentile
0.6
In the wild
Unconfirmed
What it is

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

soc: fsl: qbman: fix race condition in qman_destroy_fq

When QMAN_FQ_FLAG_DYNAMIC_FQID is set, there's a race condition between

fq_table[fq->idx] state and freeing/allocating from the pool and

WARN_ON(fq_table[fq->idx]) in qman_create_fq() gets triggered.

Indeed, we can have:

Thread A Thread B

qman_destroy_fq() qman_create_fq()

qman_release_fqid()

qman_shutdown_fq()

gen_pool_free()

-- At this point, the fqid is available again --

qman_alloc_fqid()

-- so, we can get the just-freed fqid in thread B --

fq->fqid = fqid;

fq->idx = fqid * 2;

WARN_ON(fq_table[fq->idx]);

fq_table[fq->idx] = fq;

fq_table[fq->idx] = NULL;

And adding some logs between qman_release_fqid() and

fq_table[fq->idx] = NULL makes the WARN_ON() trigger a lot more.

To prevent that, ensure that fq_table[fq->idx] is set to NULL before

gen_pool_free() is called by using smp_wmb().

The record
Technical detail
CVSS v3.1
4.7 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00094 · 0.6th percentile
Weakness
CWE-362 · Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
Published
2026-04-03T20:16Z
Affected products (11)
ProductVersionsFixed in
linux/linux_kernel≥ 4.9, < 5.10.2535.10.253
linux/linux_kernel≥ 5.11, < 5.15.2035.15.203
linux/linux_kernel≥ 5.16, < 6.1.1676.1.167
linux/linux_kernel≥ 6.2, < 6.6.1306.6.130
linux/linux_kernel≥ 6.7, < 6.12.786.12.78
linux/linux_kernel≥ 6.13, < 6.18.206.18.20
linux/linux_kernel≥ 6.19, < 6.19.106.19.10
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (11)
EPSS history
Timeline
  • 03 APR 15:15Z
    soc: fsl: qbman: fix race condition in qman_destroy_fq
    cvelistv5