From 1169cb44d96092445bfea347a91cd982821a2099 Mon Sep 17 00:00:00 2001 From: Paul Mackerras Date: Sat, 16 Apr 2005 15:24:17 -0700 Subject: [PATCH] --- yaml --- r: 29 b: refs/heads/master c: e378cc16b0d3c1610857c4444345907020e03ece h: refs/heads/master i: 27: 7ea529f8c1607aa5ba9983b1830937a773b55148 v: v3 --- [refs] | 2 +- trunk/arch/ppc/kernel/traps.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) 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) {