diff options
author | Anton Blanchard <anton@samba.org> | 2006-10-13 11:41:00 +1000 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-10-16 15:53:30 +1000 |
commit | 6c4841c2b6c32a134f9f36e5e08857138cc12b10 (patch) | |
tree | fbce68fe2e11068f84d4fbd20ed08b3f8a95ab9c /arch/powerpc/kernel | |
parent | 60b2a46cd60c54bd6551ddfa01f0aab08ca58a5d (diff) | |
download | op-kernel-dev-6c4841c2b6c32a134f9f36e5e08857138cc12b10.zip op-kernel-dev-6c4841c2b6c32a134f9f36e5e08857138cc12b10.tar.gz |
[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>
Diffstat (limited to 'arch/powerpc/kernel')
-rw-r--r-- | arch/powerpc/kernel/traps.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c index d9f10f2f..5ed4c2c 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); |