arm64/sve: ptrace: Fix SVE_PT_REGS_OFFSET definition
authorDave Martin <Dave.Martin@arm.com>
Fri, 4 Jan 2019 13:09:50 +0000 (13:09 +0000)
committerWill Deacon <will.deacon@arm.com>
Fri, 4 Jan 2019 13:31:45 +0000 (13:31 +0000)
SVE_PT_REGS_OFFSET is supposed to indicate the offset for skipping
over the ptrace NT_ARM_SVE header (struct user_sve_header) to the
start of the SVE register data proper.

However, currently SVE_PT_REGS_OFFSET is defined in terms of struct
sve_context, which is wrong: that structure describes the SVE
header in the signal frame, not in the ptrace regset.

This patch fixes the definition to use the ptrace header structure
struct user_sve_header instead.

By good fortune, the two structures are the same size anyway, so
there is no functional or ABI change.

Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/include/uapi/asm/ptrace.h

index c2f249b..6c40b3d 100644 (file)
@@ -131,7 +131,7 @@ struct user_sve_header {
 
 /* Offset from the start of struct user_sve_header to the register data */
 #define SVE_PT_REGS_OFFSET                                     \
-       ((sizeof(struct sve_context) + (SVE_VQ_BYTES - 1))      \
+       ((sizeof(struct user_sve_header) + (SVE_VQ_BYTES - 1))  \
                / SVE_VQ_BYTES * SVE_VQ_BYTES)
 
 /*