aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/kernel/trap.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/um/kernel/trap.c')
-rw-r--r--arch/um/kernel/trap.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/um/kernel/trap.c b/arch/um/kernel/trap.c
index b2b02df9896e..d4d38520c4c6 100644
--- a/arch/um/kernel/trap.c
+++ b/arch/um/kernel/trap.c
@@ -164,6 +164,7 @@ static void bad_segv(struct faultinfo fi, unsigned long ip)
164{ 164{
165 struct siginfo si; 165 struct siginfo si;
166 166
167 clear_siginfo(&si);
167 si.si_signo = SIGSEGV; 168 si.si_signo = SIGSEGV;
168 si.si_code = SEGV_ACCERR; 169 si.si_code = SEGV_ACCERR;
169 si.si_addr = (void __user *) FAULT_ADDRESS(fi); 170 si.si_addr = (void __user *) FAULT_ADDRESS(fi);
@@ -220,6 +221,7 @@ unsigned long segv(struct faultinfo fi, unsigned long ip, int is_user,
220 int is_write = FAULT_WRITE(fi); 221 int is_write = FAULT_WRITE(fi);
221 unsigned long address = FAULT_ADDRESS(fi); 222 unsigned long address = FAULT_ADDRESS(fi);
222 223
224 clear_siginfo(&si);
223 if (!is_user && regs) 225 if (!is_user && regs)
224 current->thread.segv_regs = container_of(regs, struct pt_regs, regs); 226 current->thread.segv_regs = container_of(regs, struct pt_regs, regs);
225 227