scsi-libsas-initialize-sas_phy-status-according-to-response-of-discover.patch
tty-n_gsm-allow-adm-response-in-addition-to-ua-for-control-dlci.patch
edac-mv64x60-fix-an-error-handling-path.patch
-signal-metag-document-a-conflict-with-si_user-with-sigfpe.patch
-signal-powerpc-document-conflicts-with-si_user-and-sigfpe-and-sigtrap.patch
-signal-arm-document-conflicts-with-si_user-and-sigfpe.patch
ipsec-check-return-value-of-skb_to_sgvec-always.patch
rxrpc-check-return-value-of-skb_to_sgvec-always.patch
virtio_net-check-return-value-of-skb_to_sgvec-always.patch
+++ /dev/null
-From foo@baz Tue Apr 10 13:58:07 CEST 2018
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-Date: Thu, 17 Aug 2017 17:07:46 -0500
-Subject: signal/arm: Document conflicts with SI_USER and SIGFPE
-
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-
-
-[ Upstream commit 7771c66457004977b616bab785209f49d164f527 ]
-
-Setting si_code to 0 results in a userspace seeing an si_code of 0.
-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.
-
-Further use of si_code == 0 guaranteed that copy_siginfo_to_user saw a
-value of __SI_KILL and now sees a value of SIL_KILL with the result
-that uid and pid fields are copied and which might copying the si_addr
-field by accident but certainly not by design. Making this a very
-flakey implementation.
-
-Utilizing FPE_FIXME, siginfo_layout will now return SIL_FAULT and the
-appropriate fields will be reliably copied.
-
-Possible ABI fixes includee:
-- Send the signal without siginfo
-- Don't generate a signal
-- Possibly assign and use an appropriate si_code
-- Don't handle cases which can't happen
-
-Cc: Russell King <rmk@flint.arm.linux.org.uk>
-Cc: linux-arm-kernel@lists.infradead.org
-Ref: 451436b7bbb2 ("[ARM] Add support code for ARM hardware vector floating point")
-History Tree: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git
-Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
-Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/arm/include/uapi/asm/siginfo.h | 13 +++++++++++++
- arch/arm/vfp/vfpmodule.c | 2 +-
- 2 files changed, 14 insertions(+), 1 deletion(-)
- create mode 100644 arch/arm/include/uapi/asm/siginfo.h
-
---- /dev/null
-+++ b/arch/arm/include/uapi/asm/siginfo.h
-@@ -0,0 +1,13 @@
-+#ifndef __ASM_SIGINFO_H
-+#define __ASM_SIGINFO_H
-+
-+#include <asm-generic/siginfo.h>
-+
-+/*
-+ * SIGFPE si_codes
-+ */
-+#ifdef __KERNEL__
-+#define FPE_FIXME 0 /* Broken dup of SI_USER */
-+#endif /* __KERNEL__ */
-+
-+#endif
---- a/arch/arm/vfp/vfpmodule.c
-+++ b/arch/arm/vfp/vfpmodule.c
-@@ -261,7 +261,7 @@ static void vfp_raise_exceptions(u32 exc
-
- if (exceptions == VFP_EXCEPTION_ERROR) {
- vfp_panic("unhandled bounce", inst);
-- vfp_raise_sigfpe(0, regs);
-+ vfp_raise_sigfpe(FPE_FIXME, regs);
- return;
- }
-
+++ /dev/null
-From foo@baz Tue Apr 10 13:58:07 CEST 2018
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-Date: Tue, 1 Aug 2017 10:37:40 -0500
-Subject: signal/metag: Document a conflict with SI_USER with SIGFPE
-
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-
-
-[ Upstream commit b80328be53c215346b153769267b38f531d89b4f ]
-
-Setting si_code to 0 results in a userspace seeing an si_code of 0.
-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.
-
-Further use of si_code == 0 guaranteed that copy_siginfo_to_user saw a
-value of __SI_KILL and now sees a value of SIL_KILL with the result
-hat uid and pid fields are copied and which might copying the si_addr
-field by accident but certainly not by design. Making this a very
-flakey implementation.
-
-Utilizing FPE_FIXME siginfo_layout will now return SIL_FAULT and the
-appropriate fields will reliably be copied.
-
-Possible ABI fixes includee:
- - Send the signal without siginfo
- - Don't generate a signal
- - Possibly assign and use an appropriate si_code
- - Don't handle cases which can't happen
-
-Cc: James Hogan <james.hogan@imgtec.com>
-Cc: linux-metag@vger.kernel.org
-Ref: ac919f0883e5 ("metag: Traps")
-Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
-Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/metag/include/uapi/asm/siginfo.h | 7 +++++++
- arch/metag/kernel/traps.c | 2 +-
- 2 files changed, 8 insertions(+), 1 deletion(-)
-
---- a/arch/metag/include/uapi/asm/siginfo.h
-+++ b/arch/metag/include/uapi/asm/siginfo.h
-@@ -5,4 +5,11 @@
-
- #include <asm-generic/siginfo.h>
-
-+/*
-+ * SIGFPE si_codes
-+ */
-+#ifdef __KERNEL__
-+#define FPE_FIXME 0 /* Broken dup of SI_USER */
-+#endif /* __KERNEL__ */
-+
- #endif
---- a/arch/metag/kernel/traps.c
-+++ b/arch/metag/kernel/traps.c
-@@ -732,7 +732,7 @@ TBIRES fpe_handler(TBIRES State, int Sig
- else if (error_state & TXSTAT_FPE_INEXACT_BIT)
- info.si_code = FPE_FLTRES;
- else
-- info.si_code = 0;
-+ info.si_code = FPE_FIXME;
- info.si_errno = 0;
- info.si_addr = (__force void __user *)regs->ctx.CurrPC;
- force_sig_info(SIGFPE, &info, current);
+++ /dev/null
-From foo@baz Tue Apr 10 13:58:07 CEST 2018
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-Date: Sat, 19 Aug 2017 15:26:01 -0500
-Subject: signal/powerpc: Document conflicts with SI_USER and SIGFPE and SIGTRAP
-
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-
-
-[ Upstream commit cf4674c46c66e45f238f8f7e81af2a444b970c0a ]
-
-Setting si_code to 0 results in a userspace seeing an si_code of 0.
-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.
-
-Further use of si_code == 0 guaranteed that copy_siginfo_to_user saw a
-value of __SI_KILL and now sees a value of SIL_KILL with the result
-that uid and pid fields are copied and which might copying the si_addr
-field by accident but certainly not by design. Making this a very
-flakey implementation.
-
-Utilizing FPE_FIXME and TRAP_FIXME, siginfo_layout() will now return
-SIL_FAULT and the appropriate fields will be reliably copied.
-
-Possible ABI fixes includee:
-- Send the signal without siginfo
-- Don't generate a signal
-- Possibly assign and use an appropriate si_code
-- Don't handle cases which can't happen
-Cc: Paul Mackerras <paulus@samba.org>
-Cc: Kumar Gala <kumar.gala@freescale.com>
-Cc: Michael Ellerman <mpe@ellerman.id.au>
-Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-Cc: linuxppc-dev@lists.ozlabs.org
-Ref: 9bad068c24d7 ("[PATCH] ppc32: support for e500 and 85xx")
-Ref: 0ed70f6105ef ("PPC32: Provide proper siginfo information on various exceptions.")
-History Tree: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git
-Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
-Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/powerpc/include/uapi/asm/siginfo.h | 15 +++++++++++++++
- arch/powerpc/kernel/traps.c | 10 +++++-----
- 2 files changed, 20 insertions(+), 5 deletions(-)
-
---- a/arch/powerpc/include/uapi/asm/siginfo.h
-+++ b/arch/powerpc/include/uapi/asm/siginfo.h
-@@ -17,4 +17,19 @@
- #undef NSIGTRAP
- #define NSIGTRAP 4
-
-+/*
-+ * SIGFPE si_codes
-+ */
-+#ifdef __KERNEL__
-+#define FPE_FIXME 0 /* Broken dup of SI_USER */
-+#endif /* __KERNEL__ */
-+
-+/*
-+ * SIGTRAP si_codes
-+ */
-+#ifdef __KERNEL__
-+#define TRAP_FIXME 0 /* Broken dup of SI_USER */
-+#endif /* __KERNEL__ */
-+
-+
- #endif /* _ASM_POWERPC_SIGINFO_H */
---- a/arch/powerpc/kernel/traps.c
-+++ b/arch/powerpc/kernel/traps.c
-@@ -769,7 +769,7 @@ void unknown_exception(struct pt_regs *r
- printk("Bad trap at PC: %lx, SR: %lx, vector=%lx\n",
- regs->nip, regs->msr, regs->trap);
-
-- _exception(SIGTRAP, regs, 0, 0);
-+ _exception(SIGTRAP, regs, TRAP_FIXME, 0);
-
- exception_exit(prev_state);
- }
-@@ -791,7 +791,7 @@ bail:
-
- void RunModeException(struct pt_regs *regs)
- {
-- _exception(SIGTRAP, regs, 0, 0);
-+ _exception(SIGTRAP, regs, TRAP_FIXME, 0);
- }
-
- void __kprobes single_step_exception(struct pt_regs *regs)
-@@ -826,7 +826,7 @@ static void emulate_single_step(struct p
-
- static inline int __parse_fpscr(unsigned long fpscr)
- {
-- int ret = 0;
-+ int ret = FPE_FIXME;
-
- /* Invalid operation */
- if ((fpscr & FPSCR_VE) && (fpscr & FPSCR_VX))
-@@ -1742,7 +1742,7 @@ void SPEFloatingPointException(struct pt
- extern int do_spe_mathemu(struct pt_regs *regs);
- unsigned long spefscr;
- int fpexc_mode;
-- int code = 0;
-+ int code = FPE_FIXME;
- int err;
-
- flush_spe_to_thread(current);
-@@ -1811,7 +1811,7 @@ void SPEFloatingPointRoundException(stru
- printk(KERN_ERR "unrecognized spe instruction "
- "in %s at %lx\n", current->comm, regs->nip);
- } else {
-- _exception(SIGFPE, regs, 0, regs->nip);
-+ _exception(SIGFPE, regs, FPE_FIXME, regs->nip);
- return;
- }
- }
mtd-mtd_oobtest-handle-bitflips-during-reads.patch
crypto-aes-generic-build-with-os-on-gcc-7.patch
perf-tools-fix-copyfile_offset-update-of-output-offset.patch
-signal-metag-document-a-conflict-with-si_user-with-sigfpe.patch
-signal-powerpc-document-conflicts-with-si_user-and-sigfpe-and-sigtrap.patch
-signal-arm-document-conflicts-with-si_user-and-sigfpe.patch
tcmu-release-blocks-for-partially-setup-cmds.patch
thermal-int3400_thermal-fix-error-handling-in-int3400_thermal_probe.patch
objtool-add-clang-support.patch
+++ /dev/null
-From foo@baz Mon Apr 9 13:58:16 CEST 2018
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-Date: Thu, 17 Aug 2017 17:07:46 -0500
-Subject: signal/arm: Document conflicts with SI_USER and SIGFPE
-
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-
-
-[ Upstream commit 7771c66457004977b616bab785209f49d164f527 ]
-
-Setting si_code to 0 results in a userspace seeing an si_code of 0.
-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.
-
-Further use of si_code == 0 guaranteed that copy_siginfo_to_user saw a
-value of __SI_KILL and now sees a value of SIL_KILL with the result
-that uid and pid fields are copied and which might copying the si_addr
-field by accident but certainly not by design. Making this a very
-flakey implementation.
-
-Utilizing FPE_FIXME, siginfo_layout will now return SIL_FAULT and the
-appropriate fields will be reliably copied.
-
-Possible ABI fixes includee:
-- Send the signal without siginfo
-- Don't generate a signal
-- Possibly assign and use an appropriate si_code
-- Don't handle cases which can't happen
-
-Cc: Russell King <rmk@flint.arm.linux.org.uk>
-Cc: linux-arm-kernel@lists.infradead.org
-Ref: 451436b7bbb2 ("[ARM] Add support code for ARM hardware vector floating point")
-History Tree: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git
-Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
-Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/arm/include/uapi/asm/siginfo.h | 13 +++++++++++++
- arch/arm/vfp/vfpmodule.c | 2 +-
- 2 files changed, 14 insertions(+), 1 deletion(-)
- create mode 100644 arch/arm/include/uapi/asm/siginfo.h
-
---- /dev/null
-+++ b/arch/arm/include/uapi/asm/siginfo.h
-@@ -0,0 +1,13 @@
-+#ifndef __ASM_SIGINFO_H
-+#define __ASM_SIGINFO_H
-+
-+#include <asm-generic/siginfo.h>
-+
-+/*
-+ * SIGFPE si_codes
-+ */
-+#ifdef __KERNEL__
-+#define FPE_FIXME 0 /* Broken dup of SI_USER */
-+#endif /* __KERNEL__ */
-+
-+#endif
---- a/arch/arm/vfp/vfpmodule.c
-+++ b/arch/arm/vfp/vfpmodule.c
-@@ -257,7 +257,7 @@ static void vfp_raise_exceptions(u32 exc
-
- if (exceptions == VFP_EXCEPTION_ERROR) {
- vfp_panic("unhandled bounce", inst);
-- vfp_raise_sigfpe(0, regs);
-+ vfp_raise_sigfpe(FPE_FIXME, regs);
- return;
- }
-
+++ /dev/null
-From foo@baz Mon Apr 9 13:58:16 CEST 2018
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-Date: Tue, 1 Aug 2017 10:37:40 -0500
-Subject: signal/metag: Document a conflict with SI_USER with SIGFPE
-
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-
-
-[ Upstream commit b80328be53c215346b153769267b38f531d89b4f ]
-
-Setting si_code to 0 results in a userspace seeing an si_code of 0.
-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.
-
-Further use of si_code == 0 guaranteed that copy_siginfo_to_user saw a
-value of __SI_KILL and now sees a value of SIL_KILL with the result
-hat uid and pid fields are copied and which might copying the si_addr
-field by accident but certainly not by design. Making this a very
-flakey implementation.
-
-Utilizing FPE_FIXME siginfo_layout will now return SIL_FAULT and the
-appropriate fields will reliably be copied.
-
-Possible ABI fixes includee:
- - Send the signal without siginfo
- - Don't generate a signal
- - Possibly assign and use an appropriate si_code
- - Don't handle cases which can't happen
-
-Cc: James Hogan <james.hogan@imgtec.com>
-Cc: linux-metag@vger.kernel.org
-Ref: ac919f0883e5 ("metag: Traps")
-Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
-Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/metag/include/uapi/asm/siginfo.h | 7 +++++++
- arch/metag/kernel/traps.c | 2 +-
- 2 files changed, 8 insertions(+), 1 deletion(-)
-
---- a/arch/metag/include/uapi/asm/siginfo.h
-+++ b/arch/metag/include/uapi/asm/siginfo.h
-@@ -6,4 +6,11 @@
-
- #include <asm-generic/siginfo.h>
-
-+/*
-+ * SIGFPE si_codes
-+ */
-+#ifdef __KERNEL__
-+#define FPE_FIXME 0 /* Broken dup of SI_USER */
-+#endif /* __KERNEL__ */
-+
- #endif
---- a/arch/metag/kernel/traps.c
-+++ b/arch/metag/kernel/traps.c
-@@ -735,7 +735,7 @@ TBIRES fpe_handler(TBIRES State, int Sig
- else if (error_state & TXSTAT_FPE_INEXACT_BIT)
- info.si_code = FPE_FLTRES;
- else
-- info.si_code = 0;
-+ info.si_code = FPE_FIXME;
- info.si_errno = 0;
- info.si_addr = (__force void __user *)regs->ctx.CurrPC;
- force_sig_info(SIGFPE, &info, current);
+++ /dev/null
-From foo@baz Mon Apr 9 13:58:16 CEST 2018
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-Date: Sat, 19 Aug 2017 15:26:01 -0500
-Subject: signal/powerpc: Document conflicts with SI_USER and SIGFPE and SIGTRAP
-
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-
-
-[ Upstream commit cf4674c46c66e45f238f8f7e81af2a444b970c0a ]
-
-Setting si_code to 0 results in a userspace seeing an si_code of 0.
-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.
-
-Further use of si_code == 0 guaranteed that copy_siginfo_to_user saw a
-value of __SI_KILL and now sees a value of SIL_KILL with the result
-that uid and pid fields are copied and which might copying the si_addr
-field by accident but certainly not by design. Making this a very
-flakey implementation.
-
-Utilizing FPE_FIXME and TRAP_FIXME, siginfo_layout() will now return
-SIL_FAULT and the appropriate fields will be reliably copied.
-
-Possible ABI fixes includee:
-- Send the signal without siginfo
-- Don't generate a signal
-- Possibly assign and use an appropriate si_code
-- Don't handle cases which can't happen
-Cc: Paul Mackerras <paulus@samba.org>
-Cc: Kumar Gala <kumar.gala@freescale.com>
-Cc: Michael Ellerman <mpe@ellerman.id.au>
-Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-Cc: linuxppc-dev@lists.ozlabs.org
-Ref: 9bad068c24d7 ("[PATCH] ppc32: support for e500 and 85xx")
-Ref: 0ed70f6105ef ("PPC32: Provide proper siginfo information on various exceptions.")
-History Tree: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git
-Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
-Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/powerpc/include/uapi/asm/siginfo.h | 15 +++++++++++++++
- arch/powerpc/kernel/traps.c | 10 +++++-----
- 2 files changed, 20 insertions(+), 5 deletions(-)
-
---- a/arch/powerpc/include/uapi/asm/siginfo.h
-+++ b/arch/powerpc/include/uapi/asm/siginfo.h
-@@ -18,4 +18,19 @@
- #undef NSIGTRAP
- #define NSIGTRAP 4
-
-+/*
-+ * SIGFPE si_codes
-+ */
-+#ifdef __KERNEL__
-+#define FPE_FIXME 0 /* Broken dup of SI_USER */
-+#endif /* __KERNEL__ */
-+
-+/*
-+ * SIGTRAP si_codes
-+ */
-+#ifdef __KERNEL__
-+#define TRAP_FIXME 0 /* Broken dup of SI_USER */
-+#endif /* __KERNEL__ */
-+
-+
- #endif /* _ASM_POWERPC_SIGINFO_H */
---- a/arch/powerpc/kernel/traps.c
-+++ b/arch/powerpc/kernel/traps.c
-@@ -720,7 +720,7 @@ void unknown_exception(struct pt_regs *r
- printk("Bad trap at PC: %lx, SR: %lx, vector=%lx\n",
- regs->nip, regs->msr, regs->trap);
-
-- _exception(SIGTRAP, regs, 0, 0);
-+ _exception(SIGTRAP, regs, TRAP_FIXME, 0);
-
- exception_exit(prev_state);
- }
-@@ -742,7 +742,7 @@ bail:
-
- void RunModeException(struct pt_regs *regs)
- {
-- _exception(SIGTRAP, regs, 0, 0);
-+ _exception(SIGTRAP, regs, TRAP_FIXME, 0);
- }
-
- void single_step_exception(struct pt_regs *regs)
-@@ -781,7 +781,7 @@ static void emulate_single_step(struct p
-
- static inline int __parse_fpscr(unsigned long fpscr)
- {
-- int ret = 0;
-+ int ret = FPE_FIXME;
-
- /* Invalid operation */
- if ((fpscr & FPSCR_VE) && (fpscr & FPSCR_VX))
-@@ -1769,7 +1769,7 @@ void SPEFloatingPointException(struct pt
- extern int do_spe_mathemu(struct pt_regs *regs);
- unsigned long spefscr;
- int fpexc_mode;
-- int code = 0;
-+ int code = FPE_FIXME;
- int err;
-
- flush_spe_to_thread(current);
-@@ -1838,7 +1838,7 @@ void SPEFloatingPointRoundException(stru
- printk(KERN_ERR "unrecognized spe instruction "
- "in %s at %lx\n", current->comm, regs->nip);
- } else {
-- _exception(SIGFPE, regs, 0, regs->nip);
-+ _exception(SIGFPE, regs, FPE_FIXME, regs->nip);
- return;
- }
- }
mtd-mtd_oobtest-handle-bitflips-during-reads.patch
crypto-aes-generic-build-with-os-on-gcc-7.patch
perf-tools-fix-copyfile_offset-update-of-output-offset.patch
-signal-metag-document-a-conflict-with-si_user-with-sigfpe.patch
-signal-powerpc-document-conflicts-with-si_user-and-sigfpe-and-sigtrap.patch
-signal-arm-document-conflicts-with-si_user-and-sigfpe.patch
tcmu-release-blocks-for-partially-setup-cmds.patch
thermal-int3400_thermal-fix-error-handling-in-int3400_thermal_probe.patch
drm-i915-cnp-ignore-vbt-request-for-know-invalid-ddc-pin.patch
+++ /dev/null
-From foo@baz Mon Apr 9 10:16:32 CEST 2018
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-Date: Thu, 17 Aug 2017 17:07:46 -0500
-Subject: signal/arm: Document conflicts with SI_USER and SIGFPE
-
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-
-
-[ Upstream commit 7771c66457004977b616bab785209f49d164f527 ]
-
-Setting si_code to 0 results in a userspace seeing an si_code of 0.
-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.
-
-Further use of si_code == 0 guaranteed that copy_siginfo_to_user saw a
-value of __SI_KILL and now sees a value of SIL_KILL with the result
-that uid and pid fields are copied and which might copying the si_addr
-field by accident but certainly not by design. Making this a very
-flakey implementation.
-
-Utilizing FPE_FIXME, siginfo_layout will now return SIL_FAULT and the
-appropriate fields will be reliably copied.
-
-Possible ABI fixes includee:
-- Send the signal without siginfo
-- Don't generate a signal
-- Possibly assign and use an appropriate si_code
-- Don't handle cases which can't happen
-
-Cc: Russell King <rmk@flint.arm.linux.org.uk>
-Cc: linux-arm-kernel@lists.infradead.org
-Ref: 451436b7bbb2 ("[ARM] Add support code for ARM hardware vector floating point")
-History Tree: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git
-Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
-Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/arm/include/uapi/asm/siginfo.h | 13 +++++++++++++
- arch/arm/vfp/vfpmodule.c | 2 +-
- 2 files changed, 14 insertions(+), 1 deletion(-)
- create mode 100644 arch/arm/include/uapi/asm/siginfo.h
-
---- /dev/null
-+++ b/arch/arm/include/uapi/asm/siginfo.h
-@@ -0,0 +1,13 @@
-+#ifndef __ASM_SIGINFO_H
-+#define __ASM_SIGINFO_H
-+
-+#include <asm-generic/siginfo.h>
-+
-+/*
-+ * SIGFPE si_codes
-+ */
-+#ifdef __KERNEL__
-+#define FPE_FIXME 0 /* Broken dup of SI_USER */
-+#endif /* __KERNEL__ */
-+
-+#endif
---- a/arch/arm/vfp/vfpmodule.c
-+++ b/arch/arm/vfp/vfpmodule.c
-@@ -257,7 +257,7 @@ static void vfp_raise_exceptions(u32 exc
-
- if (exceptions == VFP_EXCEPTION_ERROR) {
- vfp_panic("unhandled bounce", inst);
-- vfp_raise_sigfpe(0, regs);
-+ vfp_raise_sigfpe(FPE_FIXME, regs);
- return;
- }
-
+++ /dev/null
-From foo@baz Mon Apr 9 10:16:32 CEST 2018
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-Date: Tue, 1 Aug 2017 10:37:40 -0500
-Subject: signal/metag: Document a conflict with SI_USER with SIGFPE
-
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-
-
-[ Upstream commit b80328be53c215346b153769267b38f531d89b4f ]
-
-Setting si_code to 0 results in a userspace seeing an si_code of 0.
-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.
-
-Further use of si_code == 0 guaranteed that copy_siginfo_to_user saw a
-value of __SI_KILL and now sees a value of SIL_KILL with the result
-hat uid and pid fields are copied and which might copying the si_addr
-field by accident but certainly not by design. Making this a very
-flakey implementation.
-
-Utilizing FPE_FIXME siginfo_layout will now return SIL_FAULT and the
-appropriate fields will reliably be copied.
-
-Possible ABI fixes includee:
- - Send the signal without siginfo
- - Don't generate a signal
- - Possibly assign and use an appropriate si_code
- - Don't handle cases which can't happen
-
-Cc: James Hogan <james.hogan@imgtec.com>
-Cc: linux-metag@vger.kernel.org
-Ref: ac919f0883e5 ("metag: Traps")
-Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
-Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/metag/include/uapi/asm/siginfo.h | 7 +++++++
- arch/metag/kernel/traps.c | 2 +-
- 2 files changed, 8 insertions(+), 1 deletion(-)
-
---- a/arch/metag/include/uapi/asm/siginfo.h
-+++ b/arch/metag/include/uapi/asm/siginfo.h
-@@ -6,4 +6,11 @@
-
- #include <asm-generic/siginfo.h>
-
-+/*
-+ * SIGFPE si_codes
-+ */
-+#ifdef __KERNEL__
-+#define FPE_FIXME 0 /* Broken dup of SI_USER */
-+#endif /* __KERNEL__ */
-+
- #endif
---- a/arch/metag/kernel/traps.c
-+++ b/arch/metag/kernel/traps.c
-@@ -735,7 +735,7 @@ TBIRES fpe_handler(TBIRES State, int Sig
- else if (error_state & TXSTAT_FPE_INEXACT_BIT)
- info.si_code = FPE_FLTRES;
- else
-- info.si_code = 0;
-+ info.si_code = FPE_FIXME;
- info.si_errno = 0;
- info.si_addr = (__force void __user *)regs->ctx.CurrPC;
- force_sig_info(SIGFPE, &info, current);
+++ /dev/null
-From foo@baz Mon Apr 9 10:16:32 CEST 2018
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-Date: Sat, 19 Aug 2017 15:26:01 -0500
-Subject: signal/powerpc: Document conflicts with SI_USER and SIGFPE and SIGTRAP
-
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-
-
-[ Upstream commit cf4674c46c66e45f238f8f7e81af2a444b970c0a ]
-
-Setting si_code to 0 results in a userspace seeing an si_code of 0.
-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.
-
-Further use of si_code == 0 guaranteed that copy_siginfo_to_user saw a
-value of __SI_KILL and now sees a value of SIL_KILL with the result
-that uid and pid fields are copied and which might copying the si_addr
-field by accident but certainly not by design. Making this a very
-flakey implementation.
-
-Utilizing FPE_FIXME and TRAP_FIXME, siginfo_layout() will now return
-SIL_FAULT and the appropriate fields will be reliably copied.
-
-Possible ABI fixes includee:
-- Send the signal without siginfo
-- Don't generate a signal
-- Possibly assign and use an appropriate si_code
-- Don't handle cases which can't happen
-Cc: Paul Mackerras <paulus@samba.org>
-Cc: Kumar Gala <kumar.gala@freescale.com>
-Cc: Michael Ellerman <mpe@ellerman.id.au>
-Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-Cc: linuxppc-dev@lists.ozlabs.org
-Ref: 9bad068c24d7 ("[PATCH] ppc32: support for e500 and 85xx")
-Ref: 0ed70f6105ef ("PPC32: Provide proper siginfo information on various exceptions.")
-History Tree: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git
-Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
-Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/powerpc/include/uapi/asm/siginfo.h | 15 +++++++++++++++
- arch/powerpc/kernel/traps.c | 10 +++++-----
- 2 files changed, 20 insertions(+), 5 deletions(-)
-
---- a/arch/powerpc/include/uapi/asm/siginfo.h
-+++ b/arch/powerpc/include/uapi/asm/siginfo.h
-@@ -18,4 +18,19 @@
- #undef NSIGTRAP
- #define NSIGTRAP 4
-
-+/*
-+ * SIGFPE si_codes
-+ */
-+#ifdef __KERNEL__
-+#define FPE_FIXME 0 /* Broken dup of SI_USER */
-+#endif /* __KERNEL__ */
-+
-+/*
-+ * SIGTRAP si_codes
-+ */
-+#ifdef __KERNEL__
-+#define TRAP_FIXME 0 /* Broken dup of SI_USER */
-+#endif /* __KERNEL__ */
-+
-+
- #endif /* _ASM_POWERPC_SIGINFO_H */
---- a/arch/powerpc/kernel/traps.c
-+++ b/arch/powerpc/kernel/traps.c
-@@ -917,7 +917,7 @@ void unknown_exception(struct pt_regs *r
- printk("Bad trap at PC: %lx, SR: %lx, vector=%lx\n",
- regs->nip, regs->msr, regs->trap);
-
-- _exception(SIGTRAP, regs, 0, 0);
-+ _exception(SIGTRAP, regs, TRAP_FIXME, 0);
-
- exception_exit(prev_state);
- }
-@@ -939,7 +939,7 @@ bail:
-
- void RunModeException(struct pt_regs *regs)
- {
-- _exception(SIGTRAP, regs, 0, 0);
-+ _exception(SIGTRAP, regs, TRAP_FIXME, 0);
- }
-
- void single_step_exception(struct pt_regs *regs)
-@@ -978,7 +978,7 @@ static void emulate_single_step(struct p
-
- static inline int __parse_fpscr(unsigned long fpscr)
- {
-- int ret = 0;
-+ int ret = FPE_FIXME;
-
- /* Invalid operation */
- if ((fpscr & FPSCR_VE) && (fpscr & FPSCR_VX))
-@@ -1929,7 +1929,7 @@ void SPEFloatingPointException(struct pt
- extern int do_spe_mathemu(struct pt_regs *regs);
- unsigned long spefscr;
- int fpexc_mode;
-- int code = 0;
-+ int code = FPE_FIXME;
- int err;
-
- flush_spe_to_thread(current);
-@@ -1998,7 +1998,7 @@ void SPEFloatingPointRoundException(stru
- printk(KERN_ERR "unrecognized spe instruction "
- "in %s at %lx\n", current->comm, regs->nip);
- } else {
-- _exception(SIGFPE, regs, 0, regs->nip);
-+ _exception(SIGFPE, regs, FPE_FIXME, regs->nip);
- return;
- }
- }
edac-mv64x60-fix-an-error-handling-path.patch
cxgb4vf-fix-sge-fl-buffer-initialization-logic-for-64k-pages.patch
perf-tools-fix-copyfile_offset-update-of-output-offset.patch
-signal-metag-document-a-conflict-with-si_user-with-sigfpe.patch
-signal-powerpc-document-conflicts-with-si_user-and-sigfpe-and-sigtrap.patch
-signal-arm-document-conflicts-with-si_user-and-sigfpe.patch
ipsec-check-return-value-of-skb_to_sgvec-always.patch
rxrpc-check-return-value-of-skb_to_sgvec-always.patch
virtio_net-check-return-value-of-skb_to_sgvec-always.patch
+++ /dev/null
-From foo@baz Tue Apr 10 10:31:53 CEST 2018
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-Date: Thu, 17 Aug 2017 17:07:46 -0500
-Subject: signal/arm: Document conflicts with SI_USER and SIGFPE
-
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-
-
-[ Upstream commit 7771c66457004977b616bab785209f49d164f527 ]
-
-Setting si_code to 0 results in a userspace seeing an si_code of 0.
-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.
-
-Further use of si_code == 0 guaranteed that copy_siginfo_to_user saw a
-value of __SI_KILL and now sees a value of SIL_KILL with the result
-that uid and pid fields are copied and which might copying the si_addr
-field by accident but certainly not by design. Making this a very
-flakey implementation.
-
-Utilizing FPE_FIXME, siginfo_layout will now return SIL_FAULT and the
-appropriate fields will be reliably copied.
-
-Possible ABI fixes includee:
-- Send the signal without siginfo
-- Don't generate a signal
-- Possibly assign and use an appropriate si_code
-- Don't handle cases which can't happen
-
-Cc: Russell King <rmk@flint.arm.linux.org.uk>
-Cc: linux-arm-kernel@lists.infradead.org
-Ref: 451436b7bbb2 ("[ARM] Add support code for ARM hardware vector floating point")
-History Tree: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git
-Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
-Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/arm/include/uapi/asm/siginfo.h | 13 +++++++++++++
- arch/arm/vfp/vfpmodule.c | 2 +-
- 2 files changed, 14 insertions(+), 1 deletion(-)
- create mode 100644 arch/arm/include/uapi/asm/siginfo.h
-
---- /dev/null
-+++ b/arch/arm/include/uapi/asm/siginfo.h
-@@ -0,0 +1,13 @@
-+#ifndef __ASM_SIGINFO_H
-+#define __ASM_SIGINFO_H
-+
-+#include <asm-generic/siginfo.h>
-+
-+/*
-+ * SIGFPE si_codes
-+ */
-+#ifdef __KERNEL__
-+#define FPE_FIXME 0 /* Broken dup of SI_USER */
-+#endif /* __KERNEL__ */
-+
-+#endif
---- a/arch/arm/vfp/vfpmodule.c
-+++ b/arch/arm/vfp/vfpmodule.c
-@@ -261,7 +261,7 @@ static void vfp_raise_exceptions(u32 exc
-
- if (exceptions == VFP_EXCEPTION_ERROR) {
- vfp_panic("unhandled bounce", inst);
-- vfp_raise_sigfpe(0, regs);
-+ vfp_raise_sigfpe(FPE_FIXME, regs);
- return;
- }
-
+++ /dev/null
-From foo@baz Tue Apr 10 10:31:53 CEST 2018
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-Date: Tue, 1 Aug 2017 10:37:40 -0500
-Subject: signal/metag: Document a conflict with SI_USER with SIGFPE
-
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-
-
-[ Upstream commit b80328be53c215346b153769267b38f531d89b4f ]
-
-Setting si_code to 0 results in a userspace seeing an si_code of 0.
-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.
-
-Further use of si_code == 0 guaranteed that copy_siginfo_to_user saw a
-value of __SI_KILL and now sees a value of SIL_KILL with the result
-hat uid and pid fields are copied and which might copying the si_addr
-field by accident but certainly not by design. Making this a very
-flakey implementation.
-
-Utilizing FPE_FIXME siginfo_layout will now return SIL_FAULT and the
-appropriate fields will reliably be copied.
-
-Possible ABI fixes includee:
- - Send the signal without siginfo
- - Don't generate a signal
- - Possibly assign and use an appropriate si_code
- - Don't handle cases which can't happen
-
-Cc: James Hogan <james.hogan@imgtec.com>
-Cc: linux-metag@vger.kernel.org
-Ref: ac919f0883e5 ("metag: Traps")
-Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
-Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/metag/include/uapi/asm/siginfo.h | 7 +++++++
- arch/metag/kernel/traps.c | 2 +-
- 2 files changed, 8 insertions(+), 1 deletion(-)
-
---- a/arch/metag/include/uapi/asm/siginfo.h
-+++ b/arch/metag/include/uapi/asm/siginfo.h
-@@ -5,4 +5,11 @@
-
- #include <asm-generic/siginfo.h>
-
-+/*
-+ * SIGFPE si_codes
-+ */
-+#ifdef __KERNEL__
-+#define FPE_FIXME 0 /* Broken dup of SI_USER */
-+#endif /* __KERNEL__ */
-+
- #endif
---- a/arch/metag/kernel/traps.c
-+++ b/arch/metag/kernel/traps.c
-@@ -732,7 +732,7 @@ TBIRES fpe_handler(TBIRES State, int Sig
- else if (error_state & TXSTAT_FPE_INEXACT_BIT)
- info.si_code = FPE_FLTRES;
- else
-- info.si_code = 0;
-+ info.si_code = FPE_FIXME;
- info.si_errno = 0;
- info.si_addr = (__force void __user *)regs->ctx.CurrPC;
- force_sig_info(SIGFPE, &info, current);
+++ /dev/null
-From foo@baz Tue Apr 10 10:31:53 CEST 2018
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-Date: Sat, 19 Aug 2017 15:26:01 -0500
-Subject: signal/powerpc: Document conflicts with SI_USER and SIGFPE and SIGTRAP
-
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-
-
-[ Upstream commit cf4674c46c66e45f238f8f7e81af2a444b970c0a ]
-
-Setting si_code to 0 results in a userspace seeing an si_code of 0.
-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.
-
-Further use of si_code == 0 guaranteed that copy_siginfo_to_user saw a
-value of __SI_KILL and now sees a value of SIL_KILL with the result
-that uid and pid fields are copied and which might copying the si_addr
-field by accident but certainly not by design. Making this a very
-flakey implementation.
-
-Utilizing FPE_FIXME and TRAP_FIXME, siginfo_layout() will now return
-SIL_FAULT and the appropriate fields will be reliably copied.
-
-Possible ABI fixes includee:
-- Send the signal without siginfo
-- Don't generate a signal
-- Possibly assign and use an appropriate si_code
-- Don't handle cases which can't happen
-Cc: Paul Mackerras <paulus@samba.org>
-Cc: Kumar Gala <kumar.gala@freescale.com>
-Cc: Michael Ellerman <mpe@ellerman.id.au>
-Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-Cc: linuxppc-dev@lists.ozlabs.org
-Ref: 9bad068c24d7 ("[PATCH] ppc32: support for e500 and 85xx")
-Ref: 0ed70f6105ef ("PPC32: Provide proper siginfo information on various exceptions.")
-History Tree: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git
-Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
-Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/powerpc/include/uapi/asm/siginfo.h | 15 +++++++++++++++
- arch/powerpc/kernel/traps.c | 10 +++++-----
- 2 files changed, 20 insertions(+), 5 deletions(-)
-
---- a/arch/powerpc/include/uapi/asm/siginfo.h
-+++ b/arch/powerpc/include/uapi/asm/siginfo.h
-@@ -17,4 +17,19 @@
- #undef NSIGTRAP
- #define NSIGTRAP 4
-
-+/*
-+ * SIGFPE si_codes
-+ */
-+#ifdef __KERNEL__
-+#define FPE_FIXME 0 /* Broken dup of SI_USER */
-+#endif /* __KERNEL__ */
-+
-+/*
-+ * SIGTRAP si_codes
-+ */
-+#ifdef __KERNEL__
-+#define TRAP_FIXME 0 /* Broken dup of SI_USER */
-+#endif /* __KERNEL__ */
-+
-+
- #endif /* _ASM_POWERPC_SIGINFO_H */
---- a/arch/powerpc/kernel/traps.c
-+++ b/arch/powerpc/kernel/traps.c
-@@ -771,7 +771,7 @@ void unknown_exception(struct pt_regs *r
- printk("Bad trap at PC: %lx, SR: %lx, vector=%lx\n",
- regs->nip, regs->msr, regs->trap);
-
-- _exception(SIGTRAP, regs, 0, 0);
-+ _exception(SIGTRAP, regs, TRAP_FIXME, 0);
-
- exception_exit(prev_state);
- }
-@@ -793,7 +793,7 @@ bail:
-
- void RunModeException(struct pt_regs *regs)
- {
-- _exception(SIGTRAP, regs, 0, 0);
-+ _exception(SIGTRAP, regs, TRAP_FIXME, 0);
- }
-
- void __kprobes single_step_exception(struct pt_regs *regs)
-@@ -828,7 +828,7 @@ static void emulate_single_step(struct p
-
- static inline int __parse_fpscr(unsigned long fpscr)
- {
-- int ret = 0;
-+ int ret = FPE_FIXME;
-
- /* Invalid operation */
- if ((fpscr & FPSCR_VE) && (fpscr & FPSCR_VX))
-@@ -1764,7 +1764,7 @@ void SPEFloatingPointException(struct pt
- extern int do_spe_mathemu(struct pt_regs *regs);
- unsigned long spefscr;
- int fpexc_mode;
-- int code = 0;
-+ int code = FPE_FIXME;
- int err;
-
- flush_spe_to_thread(current);
-@@ -1833,7 +1833,7 @@ void SPEFloatingPointRoundException(stru
- printk(KERN_ERR "unrecognized spe instruction "
- "in %s at %lx\n", current->comm, regs->nip);
- } else {
-- _exception(SIGFPE, regs, 0, regs->nip);
-+ _exception(SIGFPE, regs, FPE_FIXME, regs->nip);
- return;
- }
- }
input-goodix-disable-irqs-while-suspended.patch
mtd-mtd_oobtest-handle-bitflips-during-reads.patch
perf-tools-fix-copyfile_offset-update-of-output-offset.patch
-signal-metag-document-a-conflict-with-si_user-with-sigfpe.patch
-signal-powerpc-document-conflicts-with-si_user-and-sigfpe-and-sigtrap.patch
-signal-arm-document-conflicts-with-si_user-and-sigfpe.patch
ipsec-check-return-value-of-skb_to_sgvec-always.patch
rxrpc-check-return-value-of-skb_to_sgvec-always.patch
virtio_net-check-return-value-of-skb_to_sgvec-always.patch
virtio_net-check-return-value-of-skb_to_sgvec-in-one-more-location.patch
random-use-lockless-method-of-accessing-and-updating-f-reg_idx.patch
+clk-at91-fix-clk-generated-compilation.patch
+++ /dev/null
-From foo@baz Mon Apr 9 17:09:24 CEST 2018
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-Date: Thu, 17 Aug 2017 17:07:46 -0500
-Subject: signal/arm: Document conflicts with SI_USER and SIGFPE
-
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-
-
-[ Upstream commit 7771c66457004977b616bab785209f49d164f527 ]
-
-Setting si_code to 0 results in a userspace seeing an si_code of 0.
-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.
-
-Further use of si_code == 0 guaranteed that copy_siginfo_to_user saw a
-value of __SI_KILL and now sees a value of SIL_KILL with the result
-that uid and pid fields are copied and which might copying the si_addr
-field by accident but certainly not by design. Making this a very
-flakey implementation.
-
-Utilizing FPE_FIXME, siginfo_layout will now return SIL_FAULT and the
-appropriate fields will be reliably copied.
-
-Possible ABI fixes includee:
-- Send the signal without siginfo
-- Don't generate a signal
-- Possibly assign and use an appropriate si_code
-- Don't handle cases which can't happen
-
-Cc: Russell King <rmk@flint.arm.linux.org.uk>
-Cc: linux-arm-kernel@lists.infradead.org
-Ref: 451436b7bbb2 ("[ARM] Add support code for ARM hardware vector floating point")
-History Tree: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git
-Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
-Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/arm/include/uapi/asm/siginfo.h | 13 +++++++++++++
- arch/arm/vfp/vfpmodule.c | 2 +-
- 2 files changed, 14 insertions(+), 1 deletion(-)
- create mode 100644 arch/arm/include/uapi/asm/siginfo.h
-
---- /dev/null
-+++ b/arch/arm/include/uapi/asm/siginfo.h
-@@ -0,0 +1,13 @@
-+#ifndef __ASM_SIGINFO_H
-+#define __ASM_SIGINFO_H
-+
-+#include <asm-generic/siginfo.h>
-+
-+/*
-+ * SIGFPE si_codes
-+ */
-+#ifdef __KERNEL__
-+#define FPE_FIXME 0 /* Broken dup of SI_USER */
-+#endif /* __KERNEL__ */
-+
-+#endif
---- a/arch/arm/vfp/vfpmodule.c
-+++ b/arch/arm/vfp/vfpmodule.c
-@@ -257,7 +257,7 @@ static void vfp_raise_exceptions(u32 exc
-
- if (exceptions == VFP_EXCEPTION_ERROR) {
- vfp_panic("unhandled bounce", inst);
-- vfp_raise_sigfpe(0, regs);
-+ vfp_raise_sigfpe(FPE_FIXME, regs);
- return;
- }
-
+++ /dev/null
-From foo@baz Mon Apr 9 17:09:24 CEST 2018
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-Date: Tue, 1 Aug 2017 10:37:40 -0500
-Subject: signal/metag: Document a conflict with SI_USER with SIGFPE
-
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-
-
-[ Upstream commit b80328be53c215346b153769267b38f531d89b4f ]
-
-Setting si_code to 0 results in a userspace seeing an si_code of 0.
-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.
-
-Further use of si_code == 0 guaranteed that copy_siginfo_to_user saw a
-value of __SI_KILL and now sees a value of SIL_KILL with the result
-hat uid and pid fields are copied and which might copying the si_addr
-field by accident but certainly not by design. Making this a very
-flakey implementation.
-
-Utilizing FPE_FIXME siginfo_layout will now return SIL_FAULT and the
-appropriate fields will reliably be copied.
-
-Possible ABI fixes includee:
- - Send the signal without siginfo
- - Don't generate a signal
- - Possibly assign and use an appropriate si_code
- - Don't handle cases which can't happen
-
-Cc: James Hogan <james.hogan@imgtec.com>
-Cc: linux-metag@vger.kernel.org
-Ref: ac919f0883e5 ("metag: Traps")
-Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
-Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/metag/include/uapi/asm/siginfo.h | 7 +++++++
- arch/metag/kernel/traps.c | 2 +-
- 2 files changed, 8 insertions(+), 1 deletion(-)
-
---- a/arch/metag/include/uapi/asm/siginfo.h
-+++ b/arch/metag/include/uapi/asm/siginfo.h
-@@ -5,4 +5,11 @@
-
- #include <asm-generic/siginfo.h>
-
-+/*
-+ * SIGFPE si_codes
-+ */
-+#ifdef __KERNEL__
-+#define FPE_FIXME 0 /* Broken dup of SI_USER */
-+#endif /* __KERNEL__ */
-+
- #endif
---- a/arch/metag/kernel/traps.c
-+++ b/arch/metag/kernel/traps.c
-@@ -732,7 +732,7 @@ TBIRES fpe_handler(TBIRES State, int Sig
- else if (error_state & TXSTAT_FPE_INEXACT_BIT)
- info.si_code = FPE_FLTRES;
- else
-- info.si_code = 0;
-+ info.si_code = FPE_FIXME;
- info.si_errno = 0;
- info.si_addr = (__force void __user *)regs->ctx.CurrPC;
- force_sig_info(SIGFPE, &info, current);
+++ /dev/null
-From foo@baz Mon Apr 9 17:09:24 CEST 2018
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-Date: Sat, 19 Aug 2017 15:26:01 -0500
-Subject: signal/powerpc: Document conflicts with SI_USER and SIGFPE and SIGTRAP
-
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-
-
-[ Upstream commit cf4674c46c66e45f238f8f7e81af2a444b970c0a ]
-
-Setting si_code to 0 results in a userspace seeing an si_code of 0.
-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.
-
-Further use of si_code == 0 guaranteed that copy_siginfo_to_user saw a
-value of __SI_KILL and now sees a value of SIL_KILL with the result
-that uid and pid fields are copied and which might copying the si_addr
-field by accident but certainly not by design. Making this a very
-flakey implementation.
-
-Utilizing FPE_FIXME and TRAP_FIXME, siginfo_layout() will now return
-SIL_FAULT and the appropriate fields will be reliably copied.
-
-Possible ABI fixes includee:
-- Send the signal without siginfo
-- Don't generate a signal
-- Possibly assign and use an appropriate si_code
-- Don't handle cases which can't happen
-Cc: Paul Mackerras <paulus@samba.org>
-Cc: Kumar Gala <kumar.gala@freescale.com>
-Cc: Michael Ellerman <mpe@ellerman.id.au>
-Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-Cc: linuxppc-dev@lists.ozlabs.org
-Ref: 9bad068c24d7 ("[PATCH] ppc32: support for e500 and 85xx")
-Ref: 0ed70f6105ef ("PPC32: Provide proper siginfo information on various exceptions.")
-History Tree: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git
-Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
-Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/powerpc/include/uapi/asm/siginfo.h | 15 +++++++++++++++
- arch/powerpc/kernel/traps.c | 10 +++++-----
- 2 files changed, 20 insertions(+), 5 deletions(-)
-
---- a/arch/powerpc/include/uapi/asm/siginfo.h
-+++ b/arch/powerpc/include/uapi/asm/siginfo.h
-@@ -17,4 +17,19 @@
- #undef NSIGTRAP
- #define NSIGTRAP 4
-
-+/*
-+ * SIGFPE si_codes
-+ */
-+#ifdef __KERNEL__
-+#define FPE_FIXME 0 /* Broken dup of SI_USER */
-+#endif /* __KERNEL__ */
-+
-+/*
-+ * SIGTRAP si_codes
-+ */
-+#ifdef __KERNEL__
-+#define TRAP_FIXME 0 /* Broken dup of SI_USER */
-+#endif /* __KERNEL__ */
-+
-+
- #endif /* _ASM_POWERPC_SIGINFO_H */
---- a/arch/powerpc/kernel/traps.c
-+++ b/arch/powerpc/kernel/traps.c
-@@ -793,7 +793,7 @@ void unknown_exception(struct pt_regs *r
- printk("Bad trap at PC: %lx, SR: %lx, vector=%lx\n",
- regs->nip, regs->msr, regs->trap);
-
-- _exception(SIGTRAP, regs, 0, 0);
-+ _exception(SIGTRAP, regs, TRAP_FIXME, 0);
-
- exception_exit(prev_state);
- }
-@@ -815,7 +815,7 @@ bail:
-
- void RunModeException(struct pt_regs *regs)
- {
-- _exception(SIGTRAP, regs, 0, 0);
-+ _exception(SIGTRAP, regs, TRAP_FIXME, 0);
- }
-
- void single_step_exception(struct pt_regs *regs)
-@@ -851,7 +851,7 @@ static void emulate_single_step(struct p
-
- static inline int __parse_fpscr(unsigned long fpscr)
- {
-- int ret = 0;
-+ int ret = FPE_FIXME;
-
- /* Invalid operation */
- if ((fpscr & FPSCR_VE) && (fpscr & FPSCR_VX))
-@@ -1855,7 +1855,7 @@ void SPEFloatingPointException(struct pt
- extern int do_spe_mathemu(struct pt_regs *regs);
- unsigned long spefscr;
- int fpexc_mode;
-- int code = 0;
-+ int code = FPE_FIXME;
- int err;
-
- flush_spe_to_thread(current);
-@@ -1924,7 +1924,7 @@ void SPEFloatingPointRoundException(stru
- printk(KERN_ERR "unrecognized spe instruction "
- "in %s at %lx\n", current->comm, regs->nip);
- } else {
-- _exception(SIGFPE, regs, 0, regs->nip);
-+ _exception(SIGFPE, regs, FPE_FIXME, regs->nip);
- return;
- }
- }