diff options
| -rw-r--r-- | arch/parisc/include/uapi/asm/siginfo.h | 7 | ||||
| -rw-r--r-- | arch/parisc/kernel/traps.c | 7 | ||||
| -rw-r--r-- | arch/x86/kernel/signal_compat.c | 2 | ||||
| -rw-r--r-- | include/uapi/asm-generic/siginfo.h | 3 |
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 |
