diff --git a/[refs] b/[refs] index 578419be74c6..45a8c168447f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6460b4cceba0181308042c8d8794eb679bfa22e5 +refs/heads/master: e378cc16b0d3c1610857c4444345907020e03ece diff --git a/trunk/arch/ppc/kernel/traps.c b/trunk/arch/ppc/kernel/traps.c index ed5c7acdca70..aec225b402ae 100644 --- a/trunk/arch/ppc/kernel/traps.c +++ b/trunk/arch/ppc/kernel/traps.c @@ -805,6 +805,13 @@ void AltivecAssistException(struct pt_regs *regs) if (regs->msr & MSR_VEC) giveup_altivec(current); preempt_enable(); + if (!user_mode(regs)) { + printk(KERN_ERR "altivec assist exception in kernel mode" + " at %lx\n", regs->nip); + debugger(regs); + die("altivec assist exception", regs, SIGFPE); + return; + } err = emulate_altivec(regs); if (err == 0) {