summaryrefslogtreecommitdiffstats
path: root/arch/sparc
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2020-06-06 23:44:24 -0400
committerSasha Levin <sashal@kernel.org>2020-06-30 23:17:02 -0400
commit7c68b649b37fa4e6135cc6dc4dc3545c5b7d018e (patch)
treedad09372fd4fcf5e4ef0d50c7621ded6746b61ab /arch/sparc
parent0479fd1de51fe2d3e948f02e6145be6c213ea79b (diff)
downloadlinux-stable-7c68b649b37fa4e6135cc6dc4dc3545c5b7d018e.tar.gz
linux-stable-7c68b649b37fa4e6135cc6dc4dc3545c5b7d018e.tar.bz2
linux-stable-7c68b649b37fa4e6135cc6dc4dc3545c5b7d018e.zip
fix a braino in "sparc32: fix register window handling in genregs32_[gs]et()"
[ Upstream commit 9d964e1b82d8182184153b70174f445ea616f053 ] lost npc in PTRACE_SETREGSET, breaking PTRACE_SETREGS as well Fixes: cf51e129b968 "sparc32: fix register window handling in genregs32_[gs]et()" Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'arch/sparc')
-rw-r--r--arch/sparc/kernel/ptrace_32.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/sparc/kernel/ptrace_32.c b/arch/sparc/kernel/ptrace_32.c
index 60f7205ebe40..646dd58169ec 100644
--- a/arch/sparc/kernel/ptrace_32.c
+++ b/arch/sparc/kernel/ptrace_32.c
@@ -168,12 +168,17 @@ static int genregs32_set(struct task_struct *target,
if (ret || !count)
return ret;
ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf,
- &regs->y,
+ &regs->npc,
34 * sizeof(u32), 35 * sizeof(u32));
if (ret || !count)
return ret;
+ ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf,
+ &regs->y,
+ 35 * sizeof(u32), 36 * sizeof(u32));
+ if (ret || !count)
+ return ret;
return user_regset_copyin_ignore(&pos, &count, &kbuf, &ubuf,
- 35 * sizeof(u32), 38 * sizeof(u32));
+ 36 * sizeof(u32), 38 * sizeof(u32));
}
static int fpregs32_get(struct task_struct *target,