From a038ae7148469ab6cf4afadb155a15d9554a0b59 Mon Sep 17 00:00:00 2001 From: Tiezhu Yang Date: Fri, 25 Aug 2023 23:40:26 +0800 Subject: LoongArch: Return earlier in die() if notify_die() returns NOTIFY_STOP 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 Signed-off-by: Tiezhu Yang Signed-off-by: Huacai Chen --- arch/loongarch/kernel/traps.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'arch/loongarch/kernel') diff --git a/arch/loongarch/kernel/traps.c b/arch/loongarch/kernel/traps.c index dfb34cc8b7e6..89699db45cec 100644 --- a/arch/loongarch/kernel/traps.c +++ b/arch/loongarch/kernel/traps.c @@ -404,6 +404,9 @@ void die(const char *str, struct pt_regs *regs) oops_exit(); + if (ret == NOTIFY_STOP) + return; + if (regs && kexec_should_crash(current)) crash_kexec(regs); @@ -413,8 +416,7 @@ void die(const char *str, struct pt_regs *regs) if (panic_on_oops) panic("Fatal exception"); - if (ret != NOTIFY_STOP) - make_task_dead(SIGSEGV); + make_task_dead(SIGSEGV); } static inline void setup_vint_size(unsigned int size) -- cgit