arm64's fpregs are not at a constant offset from sigcontext. Since this is
not an important part of the test, don't print the fpregs pointer on arm64.

Signed-off-by: Joey Gouly <joey.go...@arm.com>
Cc: Catalin Marinas <catalin.mari...@arm.com>
Cc: Will Deacon <w...@kernel.org>
Cc: Andrew Morton <a...@linux-foundation.org>
Cc: Shuah Khan <sh...@kernel.org>
Cc: Dave Hansen <dave.han...@linux.intel.com>
Cc: Aneesh Kumar K.V <aneesh.ku...@linux.ibm.com>
Acked-by: Dave Hansen <dave.han...@linux.intel.com>
---
 tools/testing/selftests/mm/pkey-powerpc.h    | 1 +
 tools/testing/selftests/mm/pkey-x86.h        | 2 ++
 tools/testing/selftests/mm/protection_keys.c | 6 ++++++
 3 files changed, 9 insertions(+)

diff --git a/tools/testing/selftests/mm/pkey-powerpc.h 
b/tools/testing/selftests/mm/pkey-powerpc.h
index ae5df26104e5..6275d0f474b3 100644
--- a/tools/testing/selftests/mm/pkey-powerpc.h
+++ b/tools/testing/selftests/mm/pkey-powerpc.h
@@ -9,6 +9,7 @@
 #endif
 #define REG_IP_IDX             PT_NIP
 #define REG_TRAPNO             PT_TRAP
+#define MCONTEXT_FPREGS
 #define gregs                  gp_regs
 #define fpregs                 fp_regs
 #define si_pkey_offset         0x20
diff --git a/tools/testing/selftests/mm/pkey-x86.h 
b/tools/testing/selftests/mm/pkey-x86.h
index 814758e109c0..b9170a26bfcb 100644
--- a/tools/testing/selftests/mm/pkey-x86.h
+++ b/tools/testing/selftests/mm/pkey-x86.h
@@ -15,6 +15,8 @@
 
 #endif
 
+#define MCONTEXT_FPREGS
+
 #ifndef PKEY_DISABLE_ACCESS
 # define PKEY_DISABLE_ACCESS   0x1
 #endif
diff --git a/tools/testing/selftests/mm/protection_keys.c 
b/tools/testing/selftests/mm/protection_keys.c
index 48dc151f8fca..b3dbd76ea27c 100644
--- a/tools/testing/selftests/mm/protection_keys.c
+++ b/tools/testing/selftests/mm/protection_keys.c
@@ -314,7 +314,9 @@ void signal_handler(int signum, siginfo_t *si, void 
*vucontext)
        ucontext_t *uctxt = vucontext;
        int trapno;
        unsigned long ip;
+#ifdef MCONTEXT_FPREGS
        char *fpregs;
+#endif
 #if defined(__i386__) || defined(__x86_64__) /* arch */
        u32 *pkey_reg_ptr;
        int pkey_reg_offset;
@@ -330,7 +332,9 @@ void signal_handler(int signum, siginfo_t *si, void 
*vucontext)
 
        trapno = uctxt->uc_mcontext.gregs[REG_TRAPNO];
        ip = uctxt->uc_mcontext.gregs[REG_IP_IDX];
+#ifdef MCONTEXT_FPREGS
        fpregs = (char *) uctxt->uc_mcontext.fpregs;
+#endif
 
        dprintf2("%s() trapno: %d ip: 0x%016lx info->si_code: %s/%d\n",
                        __func__, trapno, ip, si_code_str(si->si_code),
@@ -359,7 +363,9 @@ void signal_handler(int signum, siginfo_t *si, void 
*vucontext)
 #endif /* arch */
 
        dprintf1("siginfo: %p\n", si);
+#ifdef MCONTEXT_FPREGS
        dprintf1(" fpregs: %p\n", fpregs);
+#endif
 
        if ((si->si_code == SEGV_MAPERR) ||
            (si->si_code == SEGV_ACCERR) ||
-- 
2.25.1

Reply via email to