Merge branch 'linus' into x86/urgent
[muen/linux.git] / arch / x86 / kernel / traps.c
index 162a31d80ad5538504f38706df4dfc3a8a26e339..e6db475164edec4f33e6f056cde5cbdfbe51a556 100644 (file)
@@ -299,6 +299,7 @@ static void do_error_trap(struct pt_regs *regs, long error_code, char *str,
        if (notify_die(DIE_TRAP, str, regs, error_code, trapnr, signr) !=
                        NOTIFY_STOP) {
                cond_local_irq_enable(regs);
+               clear_siginfo(&info);
                do_trap(trapnr, signr, str, regs, error_code,
                        fill_trap_info(regs, signr, trapnr, &info));
        }
@@ -856,6 +857,7 @@ static void math_error(struct pt_regs *regs, int error_code, int trapnr)
 
        task->thread.trap_nr    = trapnr;
        task->thread.error_code = error_code;
+       clear_siginfo(&info);
        info.si_signo           = SIGFPE;
        info.si_errno           = 0;
        info.si_addr            = (void __user *)uprobe_get_trap_addr(regs);
@@ -931,6 +933,7 @@ dotraplinkage void do_iret_error(struct pt_regs *regs, long error_code)
        RCU_LOCKDEP_WARN(!rcu_is_watching(), "entry code didn't wake RCU");
        local_irq_enable();
 
+       clear_siginfo(&info);
        info.si_signo = SIGILL;
        info.si_errno = 0;
        info.si_code = ILL_BADSTK;