CVE-2026-23463: soc: fsl: qbman: fix race condition in qman_destroy_fq

Published Apr 3, 2026
·
Updated

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

soc: fsl: qbman: fix race condition in qmandestroyfq

When QMANFQFLAGDYNAMICFQID is set, there's a race condition between fqtable[fq->idx] state and freeing/allocating from the pool and WARNON(fqtable[fq->idx]) in qmancreatefq() gets triggered.

Indeed, we can have: Thread A Thread B qmandestroyfq() qmancreatefq() qmanreleasefqid() qmanshutdownfq() genpoolfree() -- At this point, the fqid is available again -- qmanallocfqid() -- so, we can get the just-freed fqid in thread B -- fq->fqid = fqid; fq->idx = fqid 2; WARNON(fqtable[fq->idx]); fqtable[fq->idx] = fq; fqtable[fq->idx] = NULL;

And adding some logs between qmanreleasefqid() and fqtable[fq->idx] = NULL makes the WARNON() trigger a lot more.

To prevent that, ensure that fqtable[fq->idx] is set to NULL before genpoolfree() is called by using smpwmb().

Affected Software

13 affected componentsFixes available
Linux Linux kernel
Linux Linux kernel>=4.9<5.10.253
Linux Linux kernel>=5.11<5.15.203
Linux Linux kernel>=5.16<6.1.167
Linux Linux kernel>=6.2<6.6.130
Linux Linux kernel>=6.7<6.12.78
Linux Linux kernel>=6.13<6.18.20
Linux Linux kernel>=6.19<6.19.10
Linux Linux kernel=7.0-rc1
Linux Linux kernel=7.0-rc2
Linux Linux kernel=7.0-rc3
Linux Linux kernel=7.0-rc4
debian/linux
6.1.176-16.1.190-16.12.107-16.12.115-27.2.12-17.2.15-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 6.1.176-1Fixed in 6.1.190-1Fixed in 6.12.107-1Fixed in 6.12.113-1Fixed in 7.2.12-1Fixed in 7.2.13-1
  2. Compensating control

    In qman_destroy_fq(), set fq_table[fq->idx] to NULL before calling gen_pool_free(), using smp_wmb() to ensure the ordering.

Event History

Apr 3, 2026
CVE Published
via MITRE·03:15 PM
Data Sourced
via MITRE·03:15 PM
Description
Data Sourced
via NVD·04:16 PM
RemedyDescriptionSeverityWeaknessAffected Software

Parent advisories

This vulnerability appears in the following advisories.

Peer vulnerabilities

Found alongside the following vulnerabilities.

Frequently Asked Questions

1

What conditions are required for this issue to occur?

The race involves frame queues created with QMAN_FQ_FLAG_DYNAMIC_FQID and concurrent queue destruction and creation. A newly allocated FQID can be reused before its prior fq_table entry has been cleared.

2

Who can exploit this according to the CVSS assessment?

The CVSS vector indicates local access, low privileges, no user interaction, and high attack complexity. The reported impact is limited to availability.

3

How can an affected system be recognized?

A WARN_ON(fq_table[fq->idx]) in qman_create_fq() may trigger when the race occurs. The description notes that adding logging between qman_release_fqid() and clearing the fq_table entry makes this warning trigger frequently.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203