[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20251125095758.1345956-1-duanchenghao@kylinos.cn>
Date: Tue, 25 Nov 2025 17:57:58 +0800
From: Chenghao Duan <duanchenghao@...inos.cn>
To: chenhuacai@...nel.org,
kernel@...0n.name
Cc: yangtiezhu@...ngson.cn,
zhangtianyang@...ngson.cn,
masahiroy@...nel.org,
linux-kernel@...r.kernel.org,
loongarch@...ts.linux.dev,
duanchenghao@...inos.cn
Subject: [PATCH] LoongArch: Change the signal return for user-mode ADE exceptions
When a user-mode process accesses an invalid address, the SIGSEGV signal
is returned.
For example, when user-space accesses a kernel-space virtual address.
Signed-off-by: Chenghao Duan <duanchenghao@...inos.cn>
---
arch/loongarch/kernel/traps.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/loongarch/kernel/traps.c b/arch/loongarch/kernel/traps.c
index da5926fead4a..508d3126cdb2 100644
--- a/arch/loongarch/kernel/traps.c
+++ b/arch/loongarch/kernel/traps.c
@@ -537,7 +537,7 @@ asmlinkage void noinstr do_ade(struct pt_regs *regs)
irqentry_state_t state = irqentry_enter(regs);
die_if_kernel("Kernel ade access", regs);
- force_sig_fault(SIGBUS, BUS_ADRERR, (void __user *)regs->csr_badvaddr);
+ force_sig_fault(SIGSEGV, SEGV_MAPERR, (void __user *)regs->csr_badvaddr);
irqentry_exit(regs, state);
}
--
2.25.1
Powered by blists - more mailing lists