sched_ext: Disable preemption between scx_claim_exit() and kicking helper work
Platform
linux
Component
linux
Fixed in
41423912f7ac7494ccd6eef411227b4efce740e0
In the Linux kernel, the following vulnerability has been resolved:
schedext: Disable preemption between scxclaim_exit() and kicking helper work
scxclaimexit() atomically sets exitkind, which prevents scxerror() from triggering further error handling. After claiming exit, the caller must kick the helper kthread work which initiates bypass mode and teardown.
If the calling task gets preempted between claiming exit and kicking the helper work, and the BPF scheduler fails to schedule it back (since error handling is now disabled), the helper work is never queued, bypass mode never activates, tasks stop being dispatched, and the system wedges.
Disable preemption across scxclaimexit() and the subsequent work kicking in all callers - scxdisable() and scxvexit(). Add lockdepassertpreemptiondisabled() to scxclaim_exit() to enforce the requirement.
Affected Software
Timeline
- Reserved
- Published
How to fix
Aplicar la actualización del kernel a la versión 6.12.1 o superior. Esta actualización corrige una condición de carrera que puede provocar un bloqueo del sistema. Se recomienda actualizar el sistema lo antes posible para mitigar el riesgo.
Is your project affected?
Upload your dependency file and we'll tell you instantly if this and other CVEs hit you.
Try it now — no account
Upload any manifest (composer.lock, package-lock.json, WordPress plugin list…) or paste your component list. You get a vulnerability report instantly. Uploading a file is just the start: with an account you get continuous monitoring, Slack/email alerts, multi-project and white-label reports.
Drag & drop your dependency file
composer.lock, package-lock.json, requirements.txt, Gemfile.lock, pubspec.lock, Dockerfile...