diff options
author | 2025-02-28 17:00:16 -0800 | |
---|---|---|
committer | 2025-02-28 17:00:16 -0800 | |
commit | d203484f2556f47a435cda36ceb9dd83adc9056e (patch) | |
tree | 04de1938e3abde1fd06c43c508337fd4fbcfc269 | |
parent | Merge tag 'perf-urgent-2025-02-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip (diff) | |
parent | sched/core: Prevent rescheduling when interrupts are disabled (diff) | |
download | linux-rng-d203484f2556f47a435cda36ceb9dd83adc9056e.tar.xz linux-rng-d203484f2556f47a435cda36ceb9dd83adc9056e.zip |
Merge tag 'sched-urgent-2025-02-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler fix from Ingo Molnar:
"Prevent cond_resched() based preemption when interrupts are disabled,
on PREEMPT_NONE and PREEMPT_VOLUNTARY kernels"
* tag 'sched-urgent-2025-02-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
sched/core: Prevent rescheduling when interrupts are disabled
-rw-r--r-- | kernel/sched/core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 9aecd914ac69..67189907214d 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -7285,7 +7285,7 @@ out_unlock: #if !defined(CONFIG_PREEMPTION) || defined(CONFIG_PREEMPT_DYNAMIC) int __sched __cond_resched(void) { - if (should_resched(0)) { + if (should_resched(0) && !irqs_disabled()) { preempt_schedule_common(); return 1; } |