summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaura Abbott <labbott@redhat.com>2018-06-25 14:02:32 -0700
committerLaura Abbott <labbott@redhat.com>2018-06-25 14:03:25 -0700
commit1afc41f1405272d498032119b5c20408e8a15db3 (patch)
tree2151b9d297eeb8e78e6988afe4ceb8f1d8ab96b1
parent75499ef800135b736141c9d50aabbafb8abaff1c (diff)
downloadkernel-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-.patch56
-rw-r--r--kernel.spec4
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)