CVE-2026-99085 in Linuxinformazioni

Riassunto

di VulDB • 23/10/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

sched_ext: Risolto il blocco (hang) durante l'inserimento/rimozione dinamica della CPU quando i processi di una CPU in fase di spegnimento rimangono nel scheduler BPF

Una CPU che va offline deve svuotare la propria rq. Il thread relativo all'hotplug attende in sched_cpu_wait_empty() finché non rimane nulla, e l'unica cosa che lo risveglia è balance_push(), che viene eseguito da __schedule() sulla CPU morente e sposta via i processi migrabili selezionati dalla CPU stessa.

sched_ext interrompe questo comportamento. Un processo seduto su una DSQ utente o detenuto dallo scheduler BPF rimane ancora conteggiato nella sua rq, ma una CPU inattiva non chiama più ops.dispatch() e non può recuperare il processo indietro. La CPU morente va in idle con il processo ancora conteggiato, e si verifica uno dei due eventi seguenti:

- Un'altra CPU consuma il processo. La rq si svuota senza un __schedule() sulla CPU morente, quindi il thread di hotplug non viene mai risvegliato e cpu_down() rimane bloccato mantenendo cpu_hotplug_lock. - Il processo è affine solo alla CPU morente. Nulla può spostarlo e l'offline stall (blocco) persiste finché il watchdog non espelle lo scheduler BPF.

Quando la rq va offline, reinserire in coda ogni processo su di essa che non si trova già sulla DSQ locale. Un enqueue su una rq offline atterra sulla DSQ locale, quindi è la CPU morente stessa a selezionare i processi e balance_push() li sposta via, esattamente come per le altre classi di scheduler. Da quel momento in poi nessun percorso sched_ext su un'altra CPU può prelevare un processo dalla rq.

ops.dispatch() attualmente si interrompe non appena la CPU diventa inattiva, e l'hotplug della CPU attende quindi una finestra di grazia RCU prima di portare offline la rq. Un processo detenuto da BPF affine solo alla CPU morente e preempted (preempto) all'interno di una sezione critica lato lettura RCU bloccherebbe tale periodo di grazia, e larq non andrebbe mai offline. Testare direttamente SCX_RQ_ONLINE in modo che ops.dispatch() continui a essere eseguito finché la rq non va offline. Solo il thread hotplug della CPU morente stesso cancella il flag durante la fase di teardown (smontaggio), e task_can_run_on_remote_rq() mantiene ancora i processi delle altre rqs lontani dalla CPU.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsabile

Linux

Prenotare

25/09/2026

Divulgazione

23/10/2026

Moderazione

accettato

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Want to know what is going to be exploited?

We predict KEV entries!