Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4cc13e4f authored by Eric W. Biederman's avatar Eric W. Biederman
Browse files

signal/alpha: Replace FPE_FIXME with FPE_FLTUNK

Using an si_code of 0 that aliases with SI_USER is clearly the wrong
thing todo, and causes problems in interesting ways.

The newly defined FPE_FLTUNK semantically appears to fit the bill so
use it instead.

Given recent experience in this area odds are it will not break
anything.  Fixing it removes a hazard to kernel maintenance.

Cc: Helge Deller <deller@gmx.de>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Matt Turner <mattst88@gmail.com>
Cc: linux-alpha@vger.kernel.org
History Tree: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git


Fixes: 0a635c7a84cf ("Fill in siginfo_t.")
Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
parent 4181d225
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -7,13 +7,6 @@

#include <asm-generic/siginfo.h>

/*
 * SIGFPE si_codes
 */
#ifdef __KERNEL__
#define FPE_FIXME	0	/* Broken dup of SI_USER */
#endif /* __KERNEL__ */

/*
 * SIGTRAP si_codes
 */
+1 −1
Original line number Diff line number Diff line
@@ -872,7 +872,7 @@ SYSCALL_DEFINE5(osf_setsysinfo, unsigned long, op, void __user *, buffer,
		fex = (exc >> IEEE_STATUS_TO_EXCSUM_SHIFT) & swcr;
 		if (fex) {
			siginfo_t info;
			int si_code = FPE_FIXME;
			int si_code = FPE_FLTUNK;

			if (fex & IEEE_TRAP_ENABLE_DNO) si_code = FPE_FLTUND;
			if (fex & IEEE_TRAP_ENABLE_INE) si_code = FPE_FLTRES;
+1 −1
Original line number Diff line number Diff line
@@ -328,7 +328,7 @@ do_entIF(unsigned long type, struct pt_regs *regs)
			break;
		case GEN_ROPRAND:
			signo = SIGFPE;
			code = FPE_FIXME;
			code = FPE_FLTUNK;
			break;

		case GEN_DECOVF: