From 687d20f6e86e7c96b13bbec263dc2caf80c8bf7d Mon Sep 17 00:00:00 2001 From: Laura Abbott Date: Mon, 25 Jun 2018 14:02:32 -0700 Subject: [PATCH] Fix for armv7 siginfo ABI regression (rhbz 1591516) --- ...ial-casing-TRAP_FIXME-and-FPE_FIXME-.patch | 56 +++++++++++++++++++ kernel.spec | 4 ++ 2 files changed, 60 insertions(+) create mode 100644 0001-signal-Stop-special-casing-TRAP_FIXME-and-FPE_FIXME-.patch diff --git a/0001-signal-Stop-special-casing-TRAP_FIXME-and-FPE_FIXME-.patch b/0001-signal-Stop-special-casing-TRAP_FIXME-and-FPE_FIXME-.patch new file mode 100644 index 000000000..58c4f1758 --- /dev/null +++ b/0001-signal-Stop-special-casing-TRAP_FIXME-and-FPE_FIXME-.patch @@ -0,0 +1,56 @@ +From 0c362f96e1c6bb76ab9b0b828985655fd2516bfa Mon Sep 17 00:00:00 2001 +From: "Eric W. Biederman" +Date: Sat, 14 Apr 2018 14:20:30 -0500 +Subject: [PATCH] signal: Stop special casing TRAP_FIXME and FPE_FIXME in + siginfo_layout + +After more experience with the cases where no one the si_code of 0 +is used both as a signal specific si_code, and as SI_USER it appears +that no one cares about the signal specific si_code case and the +good solution is to just fix the architectures by using +a different si_code. + +In none of the conversations has anyone even suggested that +anything depends on the signal specific redefinition of SI_USER. + +There are at least test cases that care when si_code as 0 does +not work as si_user. + +So make things simple and keep the generic code from introducing +problems by removing the special casing of TRAP_FIXME and FPE_FIXME. +This will ensure the generic case of sending a signal with +kill will always set SI_USER and work. + +The architecture specific, and signal specific overloads that +set si_code to 0 will now have problems with signalfd and +the 32bit compat versions of siginfo copying. At least +until they are fixed. + +Signed-off-by: "Eric W. Biederman" +--- + kernel/signal.c | 9 --------- + 1 file changed, 9 deletions(-) + +diff --git a/kernel/signal.c b/kernel/signal.c +index d56f4d496c89..fc82d2c0918f 100644 +--- a/kernel/signal.c ++++ b/kernel/signal.c +@@ -2835,15 +2835,6 @@ enum siginfo_layout siginfo_layout(int sig, int si_code) + layout = SIL_POLL; + else if (si_code < 0) + layout = SIL_RT; +- /* Tests to support buggy kernel ABIs */ +-#ifdef TRAP_FIXME +- if ((sig == SIGTRAP) && (si_code == TRAP_FIXME)) +- layout = SIL_FAULT; +-#endif +-#ifdef FPE_FIXME +- if ((sig == SIGFPE) && (si_code == FPE_FIXME)) +- layout = SIL_FAULT; +-#endif + } + return layout; + } +-- +2.17.1 + diff --git a/kernel.spec b/kernel.spec index b28a18af9..aed3cf93e 100644 --- a/kernel.spec +++ b/kernel.spec @@ -660,6 +660,9 @@ Patch513: 0001-media-uvcvideo-Prevent-setting-unavailable-flags.patch # rhbz 1592454 Patch514: 0001-media-uvcvideo-Support-realtek-s-UVC-1.5-device.patch +# rhbz 1591516 +Patch515: 0001-signal-Stop-special-casing-TRAP_FIXME-and-FPE_FIXME-.patch + # END OF PATCH DEFINITIONS %endif @@ -1911,6 +1914,7 @@ fi %changelog * Mon Jun 25 2018 Laura Abbott - Some webcam fixes (rhbz 1592454 1590304) +- Fix for armv7 siginfo ABI regression (rhbz 1591516) * Fri Jun 22 2018 Justin M. Forbes - Fix CVE-2018-12633 (rhbz 1594170 1594172)