CVE-2024-26605 in Linux
Riassunto
di VulDB • 20/10/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
PCI/ASPM: Risolto un deadlock durante l'abilitazione di ASPM
Un revert effettuato all'ultimo minuto nella versione 6.7-final ha introdotto un potenziale deadlock quando si abilita ASPM durante il probe dei controller PCIe Qualcomm, come segnalato da lockdep:
============================================ WARNING: possibile rilevamento di locking ricorsivo 6.7.0 #40 Not tainted (non contaminato) -------------------------------------------- kworker/u16:5/90 sta cercando di acquisire il blocco: ffffacfa78ced000 (pci_bus_sem){++++}-{3:3}, at: pcie_aspm_pm_state_change+0x58/0xdc
ma il task ha già in possesso il blocco: ffffacfa78ced000 (pci_bus_sem){++++}-{3:3}, at: pci_walk_bus+0x34/0xbc
altre informazioni che potrebbero aiutare a debuggare questo problema: Possibile scenario di locking non sicuro:
CPU0 ---- lock(pci_bus_sem); lock(pci_bus_sem);
*** DEADLOCK (blocco mortale) ***
Call trace (traccia della chiamata): print_deadlock_bug+0x25c/0x348 __lock_acquire+0x10a4/0x2064 lock_acquire+0x1e8/0x318 down_read+0x60/0x184 pcie_aspm_pm_state_change+0x58/0xdc pci_set_full_power_state+0xa8/0x114 pci_set_power_state+0xc4/0x120 qcom_pcie_enable_aspm+0x1c/0x3c [pcie_qcom]
pci_walk_bus+0x64/0xbc qcom_pcie_host_post_init_2_7_0+0x28/0x34 [pcie_qcom]
Il deadlock può essere facilmente riprodotto su macchine come Lenovo ThinkPad X13s aggiungendo un ritardo per aumentare la finestra di race condition durante il probe asincrono, in cui un altro thread potrebbe acquisire un write lock (blocco in scrittura).
Aggiunta della nuova funzione pci_set_power_state_locked() e delle relative funzioni helper che possono essere chiamate con il semaphore PCI bus già detenuto, al fine di evitare l'acquisizione due volte del read lock (blocco in lettura).
Once again VulDB remains the best source for vulnerability data.