staging: fbtft: make dirty_lock IRQ-safe
Summary
| CVE | CVE-2026-98094 |
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-09-25 11:17:39 UTC |
| Updated | 2026-09-25 11:17:39 UTC |
| Description | In the Linux kernel, the following vulnerability has been resolved:
staging: fbtft: make dirty_lock IRQ-safe
fbtft_mkdirty() can be reached from the fbcon rendering path while
processing printk() in hardirq context. Meanwhile, dirty_lock is also
taken by fbtft_deferred_io() in workqueue context with local interrupts
enabled.
Lockdep reports a possible IRQ lock inversion involving dirty_lock and
console_owner. A hardirq can interrupt a CPU holding dirty_lock and
enter the console rendering path, which can attempt to acquire
dirty_lock again.
The following lockdep report was observed on an RK3566 system with
CONFIG_PROVE_LOCKING enabled:
WARNING: possible irq lock inversion dependency detected
swapper/2/0 just changed the state of lock:
(console_owner){-...}-{0:0}
but this lock took another, HARDIRQ-unsafe lock in the past:
(&par->dirty_lock){+.+.}-{2:2}
CPU0 CPU1
---- ----
lock(&par->dirty_lock);
local_irq_disable();
lock(console_owner);
lock(&par->dirty_lock);
<Interrupt>
lock(console_owner);
*** DEADLOCK ***
Use spin_lock_irqsave() for fbtft_mkdirty() and spin_lock_irq() for
fbtft_deferred_io(). They only access the dirty line range, so the
IRQ-off regions remain short. |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|
| CNA |
Linux |
Linux |
affected c296d5f9957c03994a699d6739c27d4581a9f6c7 2a609e29efbba79f9abd68c4ec8a2bd7ecf291e7 git |
Not specified |
| CNA |
Linux |
Linux |
affected c296d5f9957c03994a699d6739c27d4581a9f6c7 f0c869df2c33793c8828acaab3e4a5e0176f9f00 git |
Not specified |
| CNA |
Linux |
Linux |
affected c296d5f9957c03994a699d6739c27d4581a9f6c7 dcb48fde8003492256dee45815144aa5ed26ce7c git |
Not specified |
| CNA |
Linux |
Linux |
affected c296d5f9957c03994a699d6739c27d4581a9f6c7 f576944a59f31bcffff121117ebf452c5dd162b7 git |
Not specified |
| CNA |
Linux |
Linux |
affected 4.0 |
Not specified |
| CNA |
Linux |
Linux |
unaffected 4.0 semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.12.111 6.12.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.18.53 6.18.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.2.7 7.2.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.3-rc2 * original_commit_for_fix |
Not specified |
References
| Reference | Source | Link | Tags |
|---|
| git.kernel.org/stable/c/2a609e29efbba79f9abd68c4ec8a2bd7ecf291e7 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/f0c869df2c33793c8828acaab3e4a5e0176f9f00 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/f576944a59f31bcffff121117ebf452c5dd162b7 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/dcb48fde8003492256dee45815144aa5ed26ce7c |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| CVE Program record |
CVE.ORG |
www.cve.org |
canonical |
| NVD vulnerability detail |
NVD |
nvd.nist.gov |
canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.