Is unrecoverable_exception() really an interrupt handler ?

Nicholas Piggin npiggin at gmail.com
Thu Feb 25 21:54:08 AEDT 2021


Excerpts from Christophe Leroy's message of February 24, 2021 6:15 pm:
> Hi Nick,
> 
> You defined unrecoverable_exeption() as an interrupt handler in interrupt.h
> 
> I think there are several issues around that:
> 
> - do_bad_slb_fault() which is also an interrupt handler calls unrecoverable_exeption()
> - in exception-64s.S, unrecoverable_exeption() is called after machine_check_exception()
> - interrupt_exit_kernel_prepare() calls unrecoverable_exception()
> 
> So in those cases, interrupt_enter_prepare() gets called twice, so things like for instance 
> account_cpu_user_entry() gets called twice.

Hi Christophe,

You are right of course.

I would say we can revert it back to a regular function. I would just 
remove it completely from machine_check_exception too.

Thanks,
Nick


More information about the Linuxppc-dev mailing list