signal/alpha: Document a conflict with SI_USER for SIGFPE
authorEric W. Biederman <ebiederm@xmission.com>
Sun, 15 Apr 2018 14:53:50 +0000 (09:53 -0500)
committerEric W. Biederman <ebiederm@xmission.com>
Tue, 17 Apr 2018 22:41:50 +0000 (17:41 -0500)
Setting si_code to 0 is the same as setting si_code to SI_USER.  This
is the same si_code as SI_USER.  Posix and common sense requires that
SI_USER not be a signal specific si_code.  As such this use of 0 for
the si_code is a pretty horribly broken ABI.

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
Ref: 0a635c7a84cf ("Fill in siginfo_t.")
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
arch/alpha/kernel/osf_sys.c

index 89faa6f..2e02aef 100644 (file)
@@ -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 = 0;
+                       int si_code = FPE_FIXME;
 
                        if (fex & IEEE_TRAP_ENABLE_DNO) si_code = FPE_FLTUND;
                        if (fex & IEEE_TRAP_ENABLE_INE) si_code = FPE_FLTRES;