]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.18-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 13 Jan 2019 09:46:25 +0000 (10:46 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 13 Jan 2019 09:46:25 +0000 (10:46 +0100)
added patches:
sparc32-fix-inverted-invalid_frame_pointer-checks-on-sigreturns.patch

queue-3.18/series [new file with mode: 0644]
queue-3.18/sparc32-fix-inverted-invalid_frame_pointer-checks-on-sigreturns.patch [new file with mode: 0644]

diff --git a/queue-3.18/series b/queue-3.18/series
new file mode 100644 (file)
index 0000000..51ab04f
--- /dev/null
@@ -0,0 +1 @@
+sparc32-fix-inverted-invalid_frame_pointer-checks-on-sigreturns.patch
diff --git a/queue-3.18/sparc32-fix-inverted-invalid_frame_pointer-checks-on-sigreturns.patch b/queue-3.18/sparc32-fix-inverted-invalid_frame_pointer-checks-on-sigreturns.patch
new file mode 100644 (file)
index 0000000..21f9a1b
--- /dev/null
@@ -0,0 +1,38 @@
+From 07b5ab3f71d318e52c18cc3b73c1d44c908aacfa Mon Sep 17 00:00:00 2001
+From: Andreas Larsson <andreas@gaisler.com>
+Date: Wed, 9 Nov 2016 10:43:05 +0100
+Subject: sparc32: Fix inverted invalid_frame_pointer checks on sigreturns
+
+From: Andreas Larsson <andreas@gaisler.com>
+
+commit 07b5ab3f71d318e52c18cc3b73c1d44c908aacfa upstream.
+
+Signed-off-by: Andreas Larsson <andreas@gaisler.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Cc: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/sparc/kernel/signal_32.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/arch/sparc/kernel/signal_32.c
++++ b/arch/sparc/kernel/signal_32.c
+@@ -89,7 +89,7 @@ asmlinkage void do_sigreturn(struct pt_r
+       sf = (struct signal_frame __user *) regs->u_regs[UREG_FP];
+       /* 1. Make sure we are not getting garbage from the user */
+-      if (!invalid_frame_pointer(sf, sizeof(*sf)))
++      if (invalid_frame_pointer(sf, sizeof(*sf)))
+               goto segv_and_exit;
+       if (get_user(ufp, &sf->info.si_regs.u_regs[UREG_FP]))
+@@ -150,7 +150,7 @@ asmlinkage void do_rt_sigreturn(struct p
+       synchronize_user_stack();
+       sf = (struct rt_signal_frame __user *) regs->u_regs[UREG_FP];
+-      if (!invalid_frame_pointer(sf, sizeof(*sf)))
++      if (invalid_frame_pointer(sf, sizeof(*sf)))
+               goto segv;
+       if (get_user(ufp, &sf->regs.u_regs[UREG_FP]))