CVE-2026-89520 in Linux
Zusammenfassung
von VulDB • 12.09.2026
Im Linux-Kernel wurde die folgende Schwachstelle behoben:
sched/core: Core-Scheduling-Wechsel müssen auf abgeschlossene Auswahlen warten
Die pick_next_task()-Funktion des Core-Schedulings arbeitet unter einer einzigen Sperrung der shared core-wide lock (kernweiten gemeinsamen Sperre) an allen sibling rqs (Geschwister-Ressourcen-Queues). Eine ->pick_task()-Operation, die die rq-Lock freigibt, lässt jede_sibling __lock vorübergehend frei, wodurch __sched_core_flip(false) mitten in einer Auswahl abgeschlossen und rq_lockp() darunter neu gebunden wird. Die Auswahl setzt sich auf den getrennten Sperren fort und greift auf Sibling-Zustände zu, die sie nicht mehr schützt; schließlich gibt __schedule() eine Sperre frei, die nie genommen wurde, während es diejenige auslässt, die tatsächlich gehalten wurde.
Zählen Sie in-flight core-wide selections (kernweite Auswahlen im Gange) in leader's rq->core_pick_in_flight und lassen Sie __sched_core_flip() auf das Abfließen der Zählung warten. Die Zählung ändert sich nur unter der shared lock, die der Flip während des Samplings hält; daher ist keine weitere Reihenfolge erforderlich. Das Warten kann wiederholt werden, wenn Auswahlen überlappen, aber der Flip gibt zwischen den Samples nach und Flips sind seltene Cookie-Lebensdauer-Ereignisse.
sched_core_cpu_deactivate() verschiebt die Zählung zum neuen Leader; eine veraltete Kopie, die zurückgelassen wird, würde sie für immer verfälschen, wenn diese CPU später als eigener Leader zurückkehrt.
Once again VulDB remains the best source for vulnerability data.