summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2006-10-13 11:41:00 +1000
committerPaul Mackerras <paulus@samba.org>2006-10-16 15:53:30 +1000
commit6c4841c2b6c32a134f9f36e5e08857138cc12b10 (patch)
treefbce68fe2e11068f84d4fbd20ed08b3f8a95ab9c
parent60b2a46cd60c54bd6551ddfa01f0aab08ca58a5d (diff)
downloadlinux-3.10-6c4841c2b6c32a134f9f36e5e08857138cc12b10.tar.gz
linux-3.10-6c4841c2b6c32a134f9f36e5e08857138cc12b10.tar.bz2
linux-3.10-6c4841c2b6c32a134f9f36e5e08857138cc12b10.zip
[POWERPC] Never panic when taking altivec exceptions from userspace
At the moment we rely on a cpu feature bit or a firmware property to detect altivec. If we dont have either of these and the cpu does in fact support altivec we can cause a panic from userspace. It seems safer to always send a signal if we manage to get an 0xf20 exception from userspace. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r--arch/powerpc/kernel/traps.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index d9f10f2fc37..5ed4c2ceb5c 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -900,14 +900,13 @@ void kernel_fp_unavailable_exception(struct pt_regs *regs)
void altivec_unavailable_exception(struct pt_regs *regs)
{
-#if !defined(CONFIG_ALTIVEC)
if (user_mode(regs)) {
/* A user program has executed an altivec instruction,
but this kernel doesn't support altivec. */
_exception(SIGILL, regs, ILL_ILLOPC, regs->nip);
return;
}
-#endif
+
printk(KERN_EMERG "Unrecoverable VMX/Altivec Unavailable Exception "
"%lx at %lx\n", regs->trap, regs->nip);
die("Unrecoverable VMX/Altivec Unavailable Exception", regs, SIGABRT);