Hi, Tiezhu, On Sun, Aug 20, 2023 at 7:21 AM Tiezhu Yang <yangtiezhu@xxxxxxxxxxx> wrote: > > After the call to oops_exit(), it should not panic or execute > the crash kernel if the oops is to be suppressed. > > Suggested-by: Maciej W. Rozycki <macro@xxxxxxxxxxx> > Signed-off-by: Tiezhu Yang <yangtiezhu@xxxxxxxxxxx> > --- > arch/mips/kernel/traps.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c > index 8e528a8..fd770dc 100644 > --- a/arch/mips/kernel/traps.c > +++ b/arch/mips/kernel/traps.c > @@ -412,6 +412,9 @@ void die(const char *str, struct pt_regs *regs) > > oops_exit(); > > + if (ret == NOTIFY_STOP) > + return; > + > if (in_interrupt()) > panic("Fatal exception in interrupt"); > > @@ -421,8 +424,7 @@ void die(const char *str, struct pt_regs *regs) > if (regs && kexec_should_crash(current)) > crash_kexec(regs); > > - if (ret != NOTIFY_STOP) > - make_task_dead(SIGSEGV); > + make_task_dead(SIGSEGV); Then you call make_task_dead() at the end unconditionally, and die() becomes a noreturn function again. Huacai > } > > extern struct exception_table_entry __start___dbe_table[]; > -- > 2.1.0 >