aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/parisc/include/uapi/asm/siginfo.h7
-rw-r--r--arch/parisc/kernel/traps.c7
-rw-r--r--arch/x86/kernel/signal_compat.c2
-rw-r--r--include/uapi/asm-generic/siginfo.h3
4 files changed, 7 insertions, 12 deletions
diff --git a/arch/parisc/include/uapi/asm/siginfo.h b/arch/parisc/include/uapi/asm/siginfo.h
index be40331f757d..4a1062e05aaf 100644
--- a/arch/parisc/include/uapi/asm/siginfo.h
+++ b/arch/parisc/include/uapi/asm/siginfo.h
@@ -8,11 +8,4 @@
8 8
9#include <asm-generic/siginfo.h> 9#include <asm-generic/siginfo.h>
10 10
11/*
12 * SIGFPE si_codes
13 */
14#ifdef __KERNEL__
15#define FPE_FIXME 0 /* Broken dup of SI_USER */
16#endif /* __KERNEL__ */
17
18#endif 11#endif
diff --git a/arch/parisc/kernel/traps.c b/arch/parisc/kernel/traps.c
index c919e6c0a687..68e671a11987 100644
--- a/arch/parisc/kernel/traps.c
+++ b/arch/parisc/kernel/traps.c
@@ -627,9 +627,10 @@ void notrace handle_interruption(int code, struct pt_regs *regs)
627 on condition */ 627 on condition */
628 if(user_mode(regs)){ 628 if(user_mode(regs)){
629 si.si_signo = SIGFPE; 629 si.si_signo = SIGFPE;
630 /* Set to zero, and let the userspace app figure it out from 630 /* Let userspace app figure it out from the insn pointed
631 the insn pointed to by si_addr */ 631 * to by si_addr.
632 si.si_code = FPE_FIXME; 632 */
633 si.si_code = FPE_CONDTRAP;
633 si.si_addr = (void __user *) regs->iaoq[0]; 634 si.si_addr = (void __user *) regs->iaoq[0];
634 force_sig_info(SIGFPE, &si, current); 635 force_sig_info(SIGFPE, &si, current);
635 return; 636 return;
diff --git a/arch/x86/kernel/signal_compat.c b/arch/x86/kernel/signal_compat.c
index df92605d8724..14c057f29979 100644
--- a/arch/x86/kernel/signal_compat.c
+++ b/arch/x86/kernel/signal_compat.c
@@ -26,7 +26,7 @@ static inline void signal_compat_build_tests(void)
26 * new fields are handled in copy_siginfo_to_user32()! 26 * new fields are handled in copy_siginfo_to_user32()!
27 */ 27 */
28 BUILD_BUG_ON(NSIGILL != 11); 28 BUILD_BUG_ON(NSIGILL != 11);
29 BUILD_BUG_ON(NSIGFPE != 14); 29 BUILD_BUG_ON(NSIGFPE != 15);
30 BUILD_BUG_ON(NSIGSEGV != 7); 30 BUILD_BUG_ON(NSIGSEGV != 7);
31 BUILD_BUG_ON(NSIGBUS != 5); 31 BUILD_BUG_ON(NSIGBUS != 5);
32 BUILD_BUG_ON(NSIGTRAP != 4); 32 BUILD_BUG_ON(NSIGTRAP != 4);
diff --git a/include/uapi/asm-generic/siginfo.h b/include/uapi/asm-generic/siginfo.h
index 544208fd3db1..558b902f18d4 100644
--- a/include/uapi/asm-generic/siginfo.h
+++ b/include/uapi/asm-generic/siginfo.h
@@ -211,7 +211,8 @@ typedef struct siginfo {
211#define __FPE_INVASC 12 /* invalid ASCII digit */ 211#define __FPE_INVASC 12 /* invalid ASCII digit */
212#define __FPE_INVDEC 13 /* invalid decimal digit */ 212#define __FPE_INVDEC 13 /* invalid decimal digit */
213#define FPE_FLTUNK 14 /* undiagnosed floating-point exception */ 213#define FPE_FLTUNK 14 /* undiagnosed floating-point exception */
214#define NSIGFPE 14 214#define FPE_CONDTRAP 15 /* trap on condition */
215#define NSIGFPE 15
215 216
216/* 217/*
217 * SIGSEGV si_codes 218 * SIGSEGV si_codes