From: Greg Kroah-Hartman Date: Sun, 13 Jan 2019 09:46:25 +0000 (+0100) Subject: 3.18-stable patches X-Git-Tag: v4.20.3~48 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e39c3adcd0797210a4076060acf1550c8366da2f;p=thirdparty%2Fkernel%2Fstable-queue.git 3.18-stable patches added patches: sparc32-fix-inverted-invalid_frame_pointer-checks-on-sigreturns.patch --- diff --git a/queue-3.18/series b/queue-3.18/series new file mode 100644 index 00000000000..51ab04fd533 --- /dev/null +++ b/queue-3.18/series @@ -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 index 00000000000..21f9a1b0fa8 --- /dev/null +++ b/queue-3.18/sparc32-fix-inverted-invalid_frame_pointer-checks-on-sigreturns.patch @@ -0,0 +1,38 @@ +From 07b5ab3f71d318e52c18cc3b73c1d44c908aacfa Mon Sep 17 00:00:00 2001 +From: Andreas Larsson +Date: Wed, 9 Nov 2016 10:43:05 +0100 +Subject: sparc32: Fix inverted invalid_frame_pointer checks on sigreturns + +From: Andreas Larsson + +commit 07b5ab3f71d318e52c18cc3b73c1d44c908aacfa upstream. + +Signed-off-by: Andreas Larsson +Signed-off-by: David S. Miller +Cc: Guenter Roeck +Signed-off-by: Greg Kroah-Hartman + +--- + 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]))