CVE-2026-98094 staging: fbtft: make dirty_lock IRQ-safe
A race condition in the fbtft staging driver can cause a deadlock when printing logs, leading to a system denial of service.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-98094?
CVE-2026-98094 is a medium-severity vulnerability in Linux kernel, published on 25 Sep 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Official 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.
Weakness: CWE-667
Which versions are affected by CVE-2026-98094?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2026-98094?
Apply the vendor's patch.
Is CVE-2026-98094 being exploited?
There is no known exploitation of CVE-2026-98094 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as AZL-104595, BELL-CVE-2026-98094, DEBIAN-CVE-2026-98094, GHSA-5wg8-22v7-6q2c, UBUNTU-CVE-2026-98094.