diff options
Diffstat (limited to 'arch/openrisc/kernel/traps.c')
-rw-r--r-- | arch/openrisc/kernel/traps.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/openrisc/kernel/traps.c b/arch/openrisc/kernel/traps.c index 113c175fe469..1610b1d65a11 100644 --- a/arch/openrisc/kernel/traps.c +++ b/arch/openrisc/kernel/traps.c | |||
@@ -251,7 +251,7 @@ void __init trap_init(void) | |||
251 | asmlinkage void do_trap(struct pt_regs *regs, unsigned long address) | 251 | asmlinkage void do_trap(struct pt_regs *regs, unsigned long address) |
252 | { | 252 | { |
253 | siginfo_t info; | 253 | siginfo_t info; |
254 | memset(&info, 0, sizeof(info)); | 254 | clear_siginfo(&info); |
255 | info.si_signo = SIGTRAP; | 255 | info.si_signo = SIGTRAP; |
256 | info.si_code = TRAP_TRACE; | 256 | info.si_code = TRAP_TRACE; |
257 | info.si_addr = (void *)address; | 257 | info.si_addr = (void *)address; |
@@ -266,6 +266,7 @@ asmlinkage void do_unaligned_access(struct pt_regs *regs, unsigned long address) | |||
266 | 266 | ||
267 | if (user_mode(regs)) { | 267 | if (user_mode(regs)) { |
268 | /* Send a SIGBUS */ | 268 | /* Send a SIGBUS */ |
269 | clear_siginfo(&info); | ||
269 | info.si_signo = SIGBUS; | 270 | info.si_signo = SIGBUS; |
270 | info.si_errno = 0; | 271 | info.si_errno = 0; |
271 | info.si_code = BUS_ADRALN; | 272 | info.si_code = BUS_ADRALN; |
@@ -285,6 +286,7 @@ asmlinkage void do_bus_fault(struct pt_regs *regs, unsigned long address) | |||
285 | 286 | ||
286 | if (user_mode(regs)) { | 287 | if (user_mode(regs)) { |
287 | /* Send a SIGBUS */ | 288 | /* Send a SIGBUS */ |
289 | clear_siginfo(&info); | ||
288 | info.si_signo = SIGBUS; | 290 | info.si_signo = SIGBUS; |
289 | info.si_errno = 0; | 291 | info.si_errno = 0; |
290 | info.si_code = BUS_ADRERR; | 292 | info.si_code = BUS_ADRERR; |
@@ -485,6 +487,7 @@ asmlinkage void do_illegal_instruction(struct pt_regs *regs, | |||
485 | 487 | ||
486 | if (user_mode(regs)) { | 488 | if (user_mode(regs)) { |
487 | /* Send a SIGILL */ | 489 | /* Send a SIGILL */ |
490 | clear_siginfo(&info); | ||
488 | info.si_signo = SIGILL; | 491 | info.si_signo = SIGILL; |
489 | info.si_errno = 0; | 492 | info.si_errno = 0; |
490 | info.si_code = ILL_ILLOPC; | 493 | info.si_code = ILL_ILLOPC; |