Thread (8 messages) 8 messages, 3 authors, 15d ago

Re: [linux-next20260529] kernel BUG at kernel/sched/core.c:7512!

From: Peter Zijlstra <peterz@infradead.org>
Date: 2026-06-02 10:04:03
Also in: lkml

On Tue, Jun 02, 2026 at 03:26:11PM +0530, Shrikanth Hegde wrote:
quoted
I would suggest trying something a little more focussed like so:
diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c
index 806c74e0d5ab..b002c179415c 100644
--- a/arch/powerpc/mm/fault.c
+++ b/arch/powerpc/mm/fault.c
@@ -589,6 +589,7 @@ static __always_inline void __do_page_fault(struct pt_regs *regs)
  	err = ___do_page_fault(regs, regs->dar, regs->dsisr);
  	if (unlikely(err))
  		bad_page_fault(regs, err);
+	local_irq_disable();
  }
  DEFINE_INTERRUPT_HANDLER(do_page_fault)
Since only ___do_page_fault() will enable interrupts, you only need to
disable them again on its return path.
Seems there are more...

do_program_check (called by program_check_exception, emulation_assist_interrupt)
alignment_exception
SPEFloatingPointException
facility_unavailable_exception


Many looks like it can recover only if hit in userspace.
Hence i though it would make sense to put it under arch_interrupt_exit_prepare
which is called just before irqentry_exit.
Ah, fair enough.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help