diff options
author | Laura Abbott <labbott@redhat.com> | 2018-06-25 14:02:32 -0700 |
---|---|---|
committer | Laura Abbott <labbott@redhat.com> | 2018-06-25 14:03:25 -0700 |
commit | 1afc41f1405272d498032119b5c20408e8a15db3 (patch) | |
tree | 2151b9d297eeb8e78e6988afe4ceb8f1d8ab96b1 | |
parent | 75499ef800135b736141c9d50aabbafb8abaff1c (diff) | |
download | kernel-1afc41f1405272d498032119b5c20408e8a15db3.tar.gz kernel-1afc41f1405272d498032119b5c20408e8a15db3.tar.xz kernel-1afc41f1405272d498032119b5c20408e8a15db3.zip |
Fix for armv7 siginfo ABI regression (rhbz 1591516)
-rw-r--r-- | 0001-signal-Stop-special-casing-TRAP_FIXME-and-FPE_FIXME-.patch | 56 | ||||
-rw-r--r-- | kernel.spec | 4 |
2 files changed, 60 insertions, 0 deletions
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" <ebiederm@xmission.com> +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" <ebiederm@xmission.com> +--- + 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 b29c83a74..cc7037f88 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 <labbott@fedoraproject.org> - Some webcam fixes (rhbz 1592454 1590304) +- Fix for armv7 siginfo ABI regression (rhbz 1591516) * Fri Jun 22 2018 Justin M. Forbes <jforbes@fedoraproject.org> - Fix CVE-2018-12633 (rhbz 1594170 1594172) |