summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/ptrace/ptrace-novsx.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2020-02-22 11:01:44 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2020-07-27 14:31:07 -0400
commit47e12855a91d2a9ca18d8fe10382e5a8d87b1417 (patch)
tree0b129bd2d6e0e620358d5ce5b5d3c3857f3bde6f /arch/powerpc/kernel/ptrace/ptrace-novsx.c
parent0557d64d983e3dedead2d4b4e8abc49620d5f5d2 (diff)
downloadlinux-47e12855a91d2a9ca18d8fe10382e5a8d87b1417.tar.bz2
powerpc: switch to ->regset_get()
Note: compat variant of REGSET_TM_CGPR is almost certainly wrong; it claims to be 48*64bit, but just as compat REGSET_GPR it stores 44*32bit of (truncated) registers + 4 32bit zeros... followed by 48 more 32bit zeroes. Might be too late to change - it's a userland ABI, after all ;-/ Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/powerpc/kernel/ptrace/ptrace-novsx.c')
-rw-r--r--arch/powerpc/kernel/ptrace/ptrace-novsx.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/powerpc/kernel/ptrace/ptrace-novsx.c b/arch/powerpc/kernel/ptrace/ptrace-novsx.c
index b2dc4e92d11a..b3b36835658a 100644
--- a/arch/powerpc/kernel/ptrace/ptrace-novsx.c
+++ b/arch/powerpc/kernel/ptrace/ptrace-novsx.c
@@ -19,15 +19,14 @@
* };
*/
int fpr_get(struct task_struct *target, const struct user_regset *regset,
- unsigned int pos, unsigned int count, void *kbuf, void __user *ubuf)
+ struct membuf to)
{
BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) !=
offsetof(struct thread_fp_state, fpr[32]));
flush_fp_to_thread(target);
- return user_regset_copyout(&pos, &count, &kbuf, &ubuf,
- &target->thread.fp_state, 0, -1);
+ return membuf_write(&to, &target->thread.fp_state, 33 * sizeof(u64));
}
/*