From 50a80fa9e023c1d3bcf2092a7ba8fc57548af798 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Tue, 19 Nov 2019 10:21:01 +0900 Subject: [PATCH] [LOCAL] arm64/ptrace: Add compat FPR register support From aarch32 ptrace view, fpr register support is done with vfp registers. As like aarch32 ptrace view, Add to suppot compat fpr resister with vfp. Change-Id: Iac60d4fe53182b901b3cc7956695fced00018487 Signed-off-by: Seung-Woo Kim --- arch/arm64/include/asm/ptrace.h | 2 ++ arch/arm64/kernel/ptrace.c | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/arch/arm64/include/asm/ptrace.h b/arch/arm64/include/asm/ptrace.h index d6dd9fdbc3b..fefd8a88511 100644 --- a/arch/arm64/include/asm/ptrace.h +++ b/arch/arm64/include/asm/ptrace.h @@ -28,6 +28,8 @@ /* AArch32-specific ptrace requests */ #define COMPAT_PTRACE_GETREGS 12 #define COMPAT_PTRACE_SETREGS 13 +#define COMPAT_PTRACE_GETFPREGS 14 +#define COMPAT_PTRACE_SETFPREGS 15 #define COMPAT_PTRACE_GET_THREAD_AREA 22 #define COMPAT_PTRACE_SET_SYSCALL 23 #define COMPAT_PTRACE_GETVFPREGS 27 diff --git a/arch/arm64/kernel/ptrace.c b/arch/arm64/kernel/ptrace.c index 3eb848865d9..adee9047d31 100644 --- a/arch/arm64/kernel/ptrace.c +++ b/arch/arm64/kernel/ptrace.c @@ -1171,6 +1171,22 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request, datap); break; + case COMPAT_PTRACE_GETFPREGS: + ret = copy_regset_to_user(child, + &user_aarch32_ptrace_view, + REGSET_FPR, + 0, VFP_STATE_SIZE, + datap); + break; + + case COMPAT_PTRACE_SETFPREGS: + ret = copy_regset_from_user(child, + &user_aarch32_ptrace_view, + REGSET_FPR, + 0, VFP_STATE_SIZE, + datap); + break; + #ifdef CONFIG_HAVE_HW_BREAKPOINT case COMPAT_PTRACE_GETHBPREGS: ret = compat_ptrace_gethbpregs(child, addr, datap); -- 2.34.1