aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@armlinux.org.uk>2018-04-12 19:22:47 -0400
committerRussell King <rmk+kernel@armlinux.org.uk>2018-05-19 13:49:43 -0400
commit92d44a42af81e850a038c38278ff4f434b2871df (patch)
tree28d02280bc3f6780c466adc64912e8db5239b4c6
parent0d73c3f8e7f6ee2aab1bb350f60c180f5ae21a2c (diff)
ARM: fix kill( ,SIGFPE) breakage
Commit 7771c6645700 ("signal/arm: Document conflicts with SI_USER and SIGFPE") broke the siginfo structure for userspace triggered signals, causing the strace testsuite to regress. Fix this by eliminating the FPE_FIXME definition (which is at the root of the breakage) and use FPE_FLTINV instead for the case where the hardware appears to be reporting nonsense. Fixes: 7771c6645700 ("signal/arm: Document conflicts with SI_USER and SIGFPE") Suggested-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
-rw-r--r--arch/arm/include/uapi/asm/siginfo.h13
-rw-r--r--arch/arm/vfp/vfpmodule.c2
2 files changed, 1 insertions, 14 deletions
diff --git a/arch/arm/include/uapi/asm/siginfo.h b/arch/arm/include/uapi/asm/siginfo.h
deleted file mode 100644
index d0513880be21..000000000000
--- a/arch/arm/include/uapi/asm/siginfo.h
+++ /dev/null
@@ -1,13 +0,0 @@
1#ifndef __ASM_SIGINFO_H
2#define __ASM_SIGINFO_H
3
4#include <asm-generic/siginfo.h>
5
6/*
7 * SIGFPE si_codes
8 */
9#ifdef __KERNEL__
10#define FPE_FIXME 0 /* Broken dup of SI_USER */
11#endif /* __KERNEL__ */
12
13#endif
diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c
index 4c375e11ae95..af4ee2cef2f9 100644
--- a/arch/arm/vfp/vfpmodule.c
+++ b/arch/arm/vfp/vfpmodule.c
@@ -257,7 +257,7 @@ static void vfp_raise_exceptions(u32 exceptions, u32 inst, u32 fpscr, struct pt_
257 257
258 if (exceptions == VFP_EXCEPTION_ERROR) { 258 if (exceptions == VFP_EXCEPTION_ERROR) {
259 vfp_panic("unhandled bounce", inst); 259 vfp_panic("unhandled bounce", inst);
260 vfp_raise_sigfpe(FPE_FIXME, regs); 260 vfp_raise_sigfpe(FPE_FLTINV, regs);
261 return; 261 return;
262 } 262 }
263 263