On Wed, 19 Oct 2022 09:34:26 +0200 Nico Boehr <nrb@xxxxxxxxxxxxx> wrote: > Quoting Claudio Imbrenda (2022-10-18 16:09:50) > [...] > > diff --git a/lib/s390x/interrupt.c b/lib/s390x/interrupt.c > > index 7cc2c5fb..22bf443b 100644 > > --- a/lib/s390x/interrupt.c > > +++ b/lib/s390x/interrupt.c > [...] > > void handle_pgm_int(struct stack_frame_int *stack) > > { > > + if (THIS_CPU->in_interrupt_handler) { > > + /* Something went very wrong, stop everything now without printing anything */ > > + smp_teardown(); > > + disabled_wait(0xfa12edbad21); > > + } > > Maybe I am missing something, but is there a particular reson why you don't do > THIS_CPU->in_interrupt_handler = true; > here as well? I was thinking that we set pgm_int_expected = false so we would catch a wild program interrupt there, but in hindsight maybe it's better to set in_interrupt_handler = true there so we can abort immediately