diff options
author | Andi Kleen <ak@suse.de> | 2005-04-16 18:25:06 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:25:06 -0400 |
commit | 3a848f632f86f1602094e6172cdc05c048042d7a (patch) | |
tree | d2082fe5f580f2b00db04659c78f6a7d309d1a1b | |
parent | c29601e9c1e7893d1755364e350c9188bd56d69f (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>
-rw-r--r-- | arch/x86_64/kernel/traps.c | 10 |
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 | /* |