diff options
Diffstat (limited to 'arch/arm/kernel/traps.c')
-rw-r--r-- | arch/arm/kernel/traps.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c index 5e3633c24e63..2584f9066da3 100644 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c | |||
@@ -439,6 +439,7 @@ asmlinkage void do_undefinstr(struct pt_regs *regs) | |||
439 | siginfo_t info; | 439 | siginfo_t info; |
440 | void __user *pc; | 440 | void __user *pc; |
441 | 441 | ||
442 | clear_siginfo(&info); | ||
442 | pc = (void __user *)instruction_pointer(regs); | 443 | pc = (void __user *)instruction_pointer(regs); |
443 | 444 | ||
444 | if (processor_mode(regs) == SVC_MODE) { | 445 | if (processor_mode(regs) == SVC_MODE) { |
@@ -537,6 +538,7 @@ static int bad_syscall(int n, struct pt_regs *regs) | |||
537 | { | 538 | { |
538 | siginfo_t info; | 539 | siginfo_t info; |
539 | 540 | ||
541 | clear_siginfo(&info); | ||
540 | if ((current->personality & PER_MASK) != PER_LINUX) { | 542 | if ((current->personality & PER_MASK) != PER_LINUX) { |
541 | send_sig(SIGSEGV, current, 1); | 543 | send_sig(SIGSEGV, current, 1); |
542 | return regs->ARM_r0; | 544 | return regs->ARM_r0; |
@@ -604,6 +606,7 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs) | |||
604 | { | 606 | { |
605 | siginfo_t info; | 607 | siginfo_t info; |
606 | 608 | ||
609 | clear_siginfo(&info); | ||
607 | if ((no >> 16) != (__ARM_NR_BASE>> 16)) | 610 | if ((no >> 16) != (__ARM_NR_BASE>> 16)) |
608 | return bad_syscall(no, regs); | 611 | return bad_syscall(no, regs); |
609 | 612 | ||
@@ -740,6 +743,8 @@ baddataabort(int code, unsigned long instr, struct pt_regs *regs) | |||
740 | unsigned long addr = instruction_pointer(regs); | 743 | unsigned long addr = instruction_pointer(regs); |
741 | siginfo_t info; | 744 | siginfo_t info; |
742 | 745 | ||
746 | clear_siginfo(&info); | ||
747 | |||
743 | #ifdef CONFIG_DEBUG_USER | 748 | #ifdef CONFIG_DEBUG_USER |
744 | if (user_debug & UDBG_BADABORT) { | 749 | if (user_debug & UDBG_BADABORT) { |
745 | pr_err("[%d] %s: bad data abort: code %d instr 0x%08lx\n", | 750 | pr_err("[%d] %s: bad data abort: code %d instr 0x%08lx\n", |