In the Linux kernel, the following vulnerability has been resolved:
schedext: Fix isbpfmigrationdisabled() false negative on non-PREEMPT_RCU
Since commit 8e4f0b1ebcf2 ("bpf: use rcureadlockdontmigrate() for trampoline.c"), the BPF prolog (_bpfprogenter) calls migratedisable() only when CONFIGPREEMPTRCU is enabled, via rcureadlockdontmigrate(). Without CONFIGPREEMPTRCU, the prolog never touches migrationdisabled, so migrationdisabled == 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 scxerror in taskcanrunonremoterq().
Only apply the p == current disambiguation when CONFIGPREEMPTRCU is enabled, where the ambiguity with the BPF prolog still exists.
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31734.json"
}