aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2005-04-16 18:25:06 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 18:25:06 -0400
commit3a848f632f86f1602094e6172cdc05c048042d7a (patch)
treed2082fe5f580f2b00db04659c78f6a7d309d1a1b /arch
parentc29601e9c1e7893d1755364e350c9188bd56d69f (diff)
[PATCH] x86_64: Make kernel math errors a die() now
There were no reports about the previous warning for FPU exceptions in the kernel, so make it a die() now. Also improve the error messages slightly. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86_64/kernel/traps.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/arch/x86_64/kernel/traps.c b/arch/x86_64/kernel/traps.c
index 1b06ab24538b..2f42fd5c075f 100644
--- a/arch/x86_64/kernel/traps.c
+++ b/arch/x86_64/kernel/traps.c
@@ -733,14 +733,8 @@ static int kernel_math_error(struct pt_regs *regs, char *str)
733 return 1; 733 return 1;
734 } 734 }
735 notify_die(DIE_GPF, str, regs, 0, 16, SIGFPE); 735 notify_die(DIE_GPF, str, regs, 0, 16, SIGFPE);
736#if 0 736 /* Illegal floating point operation in the kernel */
737 /* This should be a die, but warn only for now */
738 die(str, regs, 0); 737 die(str, regs, 0);
739#else
740 printk(KERN_DEBUG "%s: %s at ", current->comm, str);
741 printk_address(regs->rip);
742 printk("\n");
743#endif
744 return 0; 738 return 0;
745} 739}
746 740
@@ -824,7 +818,7 @@ asmlinkage void do_simd_coprocessor_error(struct pt_regs *regs)
824 818
825 conditional_sti(regs); 819 conditional_sti(regs);
826 if ((regs->cs & 3) == 0 && 820 if ((regs->cs & 3) == 0 &&
827 kernel_math_error(regs, "simd math error")) 821 kernel_math_error(regs, "kernel simd math error"))
828 return; 822 return;
829 823
830 /* 824 /*