Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2026-31734

sched_ext: Fix is_bpf_migration_disabled() false negative on non-PREEMPT_RCU

Description

In the Linux kernel, the following vulnerability has been resolved: sched_ext: Fix is_bpf_migration_disabled() false negative on non-PREEMPT_RCU Since commit 8e4f0b1ebcf2 ("bpf: use rcu_read_lock_dont_migrate() for trampoline.c"), the BPF prolog (__bpf_prog_enter) calls migrate_disable() only when CONFIG_PREEMPT_RCU is enabled, via rcu_read_lock_dont_migrate(). Without CONFIG_PREEMPT_RCU, the prolog never touches migration_disabled, so migration_disabled == 1 always means the task is truly migration-disabled regardless of whether it is the current task. The old unconditional p == current check was a false negative in this case, potentially allowing a migration-disabled task to be dispatched to a remote CPU and triggering scx_error in task_can_run_on_remote_rq(). Only apply the p == current disambiguation when CONFIG_PREEMPT_RCU is enabled, where the ambiguity with the BPF prolog still exists.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • 8e4f0b1ebcf2180ab594f204f01279a666dadf3b to < 72c43eb2e334febe93018cfb68ae828f55c6e49eaffected
  • 8e4f0b1ebcf2180ab594f204f01279a666dadf3b to < b4992a9446bb9a639007bfd32bf5c5a7e30199e5affected
  • 8e4f0b1ebcf2180ab594f204f01279a666dadf3b to < 0c4a59df370bea245695c00aaae6ae75747139bdaffected

Linux Linux

Default version status: affected

  • 6.18affected
  • 0 to < 6.18unaffected
  • 6.18.22 to ≤ 6.18.*unaffected
  • 6.19.12 to ≤ 6.19.*unaffected
  • 7.0 to ≤ *unaffected

References