]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/4.4.46/tile-ptrace-preserve-previous-registers-for-short-regset-write.patch
Fixes for 4.19
[thirdparty/kernel/stable-queue.git] / releases / 4.4.46 / tile-ptrace-preserve-previous-registers-for-short-regset-write.patch
1 From fd7c99142d77dc4a851879a66715abf12a3193fb Mon Sep 17 00:00:00 2001
2 From: Dave Martin <Dave.Martin@arm.com>
3 Date: Fri, 6 Jan 2017 17:54:51 +0000
4 Subject: tile/ptrace: Preserve previous registers for short regset write
5
6 From: Dave Martin <Dave.Martin@arm.com>
7
8 commit fd7c99142d77dc4a851879a66715abf12a3193fb upstream.
9
10 Ensure that if userspace supplies insufficient data to
11 PTRACE_SETREGSET to fill all the registers, the thread's old
12 registers are preserved.
13
14 Signed-off-by: Dave Martin <Dave.Martin@arm.com>
15 Signed-off-by: Chris Metcalf <cmetcalf@mellanox.com>
16 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
17
18 ---
19 arch/tile/kernel/ptrace.c | 2 +-
20 1 file changed, 1 insertion(+), 1 deletion(-)
21
22 --- a/arch/tile/kernel/ptrace.c
23 +++ b/arch/tile/kernel/ptrace.c
24 @@ -111,7 +111,7 @@ static int tile_gpr_set(struct task_stru
25 const void *kbuf, const void __user *ubuf)
26 {
27 int ret;
28 - struct pt_regs regs;
29 + struct pt_regs regs = *task_pt_regs(target);
30
31 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, &regs, 0,
32 sizeof(regs));