PT-2026-98757 · Linux · Linux

CVE-2026-98094

·

Published

2026-09-25

·

Updated

2026-09-25

None

No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
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); 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.
Found an issue in the description? Have something to add? Feel free to write us 👾

Related Identifiers

CVE-2026-98094

Affected Products

Linux