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