* Is unrecoverable_exception() really an interrupt handler ?
@ 2021-02-24 8:15 Christophe Leroy
2021-02-25 10:54 ` Nicholas Piggin
0 siblings, 1 reply; 2+ messages in thread
From: Christophe Leroy @ 2021-02-24 8:15 UTC (permalink / raw)
To: Nicholas Piggin, linuxppc-dev@lists.ozlabs.org
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.
Christophe
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Is unrecoverable_exception() really an interrupt handler ?
2021-02-24 8:15 Is unrecoverable_exception() really an interrupt handler ? Christophe Leroy
@ 2021-02-25 10:54 ` Nicholas Piggin
0 siblings, 0 replies; 2+ messages in thread
From: Nicholas Piggin @ 2021-02-25 10:54 UTC (permalink / raw)
To: Christophe Leroy, linuxppc-dev@lists.ozlabs.org
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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-02-25 10:54 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-02-24 8:15 Is unrecoverable_exception() really an interrupt handler ? Christophe Leroy
2021-02-25 10:54 ` Nicholas Piggin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox