-

CVE-2026-98094

staging: fbtft: make dirty_lock IRQ-safe

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.
Daten sind bereitgestellt durch das CVE Programm von einer CVE Numbering Authority (CNA) (Unstrukturiert).
HerstellerLinux
≫
Produkt Linux
Default Statusunaffected
Version c296d5f9957c03994a699d6739c27d4581a9f6c7
Version < 0843298b159599ee7bc6d14800efdb4bc7349706
Status affected
Version c296d5f9957c03994a699d6739c27d4581a9f6c7
Version < a323066337ed85c38decfc7f6bbf42f27605dff1
Status affected
Version c296d5f9957c03994a699d6739c27d4581a9f6c7
Version < f2451e18826eb6a33ea51419f39bdd2eb99fa1ea
Status affected
Version c296d5f9957c03994a699d6739c27d4581a9f6c7
Version < 10cc145b873670438d3b105133dffdae70822db6
Status affected
Version c296d5f9957c03994a699d6739c27d4581a9f6c7
Version < 2a609e29efbba79f9abd68c4ec8a2bd7ecf291e7
Status affected
Version c296d5f9957c03994a699d6739c27d4581a9f6c7
Version < f0c869df2c33793c8828acaab3e4a5e0176f9f00
Status affected
Version c296d5f9957c03994a699d6739c27d4581a9f6c7
Version < dcb48fde8003492256dee45815144aa5ed26ce7c
Status affected
Version c296d5f9957c03994a699d6739c27d4581a9f6c7
Version < f576944a59f31bcffff121117ebf452c5dd162b7
Status affected
HerstellerLinux
≫
Produkt Linux
Default Statusaffected
Version 4.0
Status affected
Version 0
Version < 4.0
Status unaffected
Version <= 5.10.*
Version 5.10.271
Status unaffected
Version <= 5.15.*
Version 5.15.222
Status unaffected
Version <= 6.1.*
Version 6.1.189
Status unaffected
Version <= 6.6.*
Version 6.6.158
Status unaffected
Version <= 6.12.*
Version 6.12.111
Status unaffected
Version <= 6.18.*
Version 6.18.53
Status unaffected
Version <= 7.2.*
Version 7.2.7
Status unaffected
Version <= *
Version 7.3-rc2
Status unaffected
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.17% 0.054
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
Es wurden noch keine Informationen zu CWE veröffentlicht.
https://git.kernel.org/stable/c/2a609e29efbba79f9abd68c4ec8a2bd7ecf291e7
https://git.kernel.org/stable/c/f0c869df2c33793c8828acaab3e4a5e0176f9f00
https://git.kernel.org/stable/c/dcb48fde8003492256dee45815144aa5ed26ce7c
https://git.kernel.org/stable/c/f576944a59f31bcffff121117ebf452c5dd162b7
https://git.kernel.org/stable/c/0843298b159599ee7bc6d14800efdb4bc7349706
https://git.kernel.org/stable/c/10cc145b873670438d3b105133dffdae70822db6
https://git.kernel.org/stable/c/a323066337ed85c38decfc7f6bbf42f27605dff1
https://git.kernel.org/stable/c/f2451e18826eb6a33ea51419f39bdd2eb99fa1ea