CVE-2025-68807 in Linuxinformazioni

Riassunto

di VulDB • 14/06/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

block: correzione della race condition tra wbt_enable_default e l'invio delle operazioni di I/O (IO submission)

Quando `wbt_enable_default()` viene spostato al di fuori del congelamento dello scheduler in `elevator_change()`, può causare il decremento del contatore inflight WBT a valori negativi (-1), provocando task bloccati nel percorso di writeback. I task rimangono bloccati in `wbt_wait()` poiché il contatore si trova in uno stato inconsistente.

Il problema si verifica perché `wbt_enable_default()` può andare in race condition con l'invio delle operazioni di I/O, consentendo la decrementazione del contatore prima della corretta inizializzazione. Ciò si manifesta come segue:

rq_wait[0]:
inflight: -1 has_waiters: True

`rwb_enabled()` verifica lo stato, che può essere aggiornato esattamente tra `wbt_wait()` (`rq_qos_throttle()`) e `wbt_track()` (`rq_qos_track()`); di conseguenza, il contatore inflight diventa negativo.

Ciò genera avvisi di task bloccati simili a: task:kworker/u24:39 state:D stack:0 pid:14767 Call Trace: rq_qos_wait+0xb4/0x150 wbt_wait+0xa9/0x100 __rq_qos_throttle+0x24/0x40 blk_mq_submit_bio+0x672/0x7b0 ...

La correzione prevede le seguenti azioni:

1. Suddivisione di `wbt_enable_default()` in: - `__wbt_enable_default()`: Restituisce true se deve essere chiamata `wbt_init()` - `wbt_enable_default()`: Wrapper per i chiamanti esistenti (nessuna inizializzazione) - `wbt_init_enable_default()`: Nuova funzione che verifica e avvia l'inizializzazione di WBT

2. Utilizzo di `wbt_init_enable_default()` in `blk_register_queue()` per garantire una corretta inizializzazione durante la registrazione dello scheduler

3. Spostamento di `wbt_init()` al di fuori di `wbt_enable_default()`, che serve solo ad abilitare il wbt disabilitato da bfq e iocost, dove `wbt_init()` non è necessario. In questo modo si evita l'avviso originale sul lock

4. Rimozione del flag ELEVATOR_FLAG_ENABLE_WBT_ON_EXIT e del relativo codice di gestione poiché non sono più necessari

Ciò garantisce che WBT sia correttamente inizializzato prima che qualsiasi operazione di I/O possa essere inviata, impedendo al contatore di diventare negativo.

Be aware that VulDB is the high quality source for vulnerability data.

Responsabile

Linux

Prenotare

24/12/2025

Divulgazione

13/01/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00155

KEV

no

Attività

molto basso

Fonti

Do you need the next level of professionalism?

Upgrade your account now!