From 7606c37d4a447ea3b0efb2165d3ccf516b7d8696 Mon Sep 17 00:00:00 2001 From: Catalin Marinas Date: Wed, 10 Oct 2012 15:50:03 +0100 Subject: [PATCH] arm64: Do not export the compat-specific definitions to the user This patch adds #ifdef __KERNEL__ guards around the COMPAT_* definitions to avoid exporting them to user. AArch32 user requiring the kernel headers must use those generated with ARCH=arm. Signed-off-by: Catalin Marinas Acked-by: Will Deacon --- arch/arm64/include/asm/hwcap.h | 2 +- arch/arm64/include/asm/ptrace.h | 12 +++++++++--- arch/arm64/kernel/ptrace.c | 6 +++--- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/arch/arm64/include/asm/hwcap.h b/arch/arm64/include/asm/hwcap.h index db05f9766112..2cb430082edf 100644 --- a/arch/arm64/include/asm/hwcap.h +++ b/arch/arm64/include/asm/hwcap.h @@ -22,6 +22,7 @@ #define HWCAP_FP (1 << 0) #define HWCAP_ASIMD (1 << 1) +#ifdef __KERNEL__ #define COMPAT_HWCAP_HALF (1 << 1) #define COMPAT_HWCAP_THUMB (1 << 2) #define COMPAT_HWCAP_FAST_MULT (1 << 4) @@ -35,7 +36,6 @@ #define COMPAT_HWCAP_IDIVT (1 << 18) #define COMPAT_HWCAP_IDIV (COMPAT_HWCAP_IDIVA|COMPAT_HWCAP_IDIVT) -#ifdef __KERNEL__ #ifndef __ASSEMBLY__ /* * This yields a mask that user programs can use to figure out what diff --git a/arch/arm64/include/asm/ptrace.h b/arch/arm64/include/asm/ptrace.h index 0fa5d6c9ef76..fc2772a27c78 100644 --- a/arch/arm64/include/asm/ptrace.h +++ b/arch/arm64/include/asm/ptrace.h @@ -23,6 +23,7 @@ #include +#ifdef __KERNEL__ /* AArch32-specific ptrace requests */ #define COMPAT_PTRACE_GETREGS 12 #define COMPAT_PTRACE_SETREGS 13 @@ -32,6 +33,7 @@ #define COMPAT_PTRACE_SETVFPREGS 28 #define COMPAT_PTRACE_GETHBPREGS 29 #define COMPAT_PTRACE_SETHBPREGS 30 +#endif /* * PSR bits @@ -47,9 +49,11 @@ /* AArch32 CPSR bits */ #define PSR_MODE32_BIT 0x00000010 +#ifdef __KERNEL__ #define COMPAT_PSR_MODE_USR 0x00000010 #define COMPAT_PSR_T_BIT 0x00000020 #define COMPAT_PSR_IT_MASK 0x0600fc00 /* If-Then execution state mask */ +#endif /* AArch64 SPSR bits */ #define PSR_F_BIT 0x00000040 @@ -70,13 +74,15 @@ #define PSR_x 0x0000ff00 /* Extension */ #define PSR_c 0x000000ff /* Control */ +#ifdef __KERNEL__ /* * These are 'magic' values for PTRACE_PEEKUSR that return info about where a * process is located in memory. */ -#define PT_TEXT_ADDR 0x10000 -#define PT_DATA_ADDR 0x10004 -#define PT_TEXT_END_ADDR 0x10008 +#define COMPAT_PT_TEXT_ADDR 0x10000 +#define COMPAT_PT_DATA_ADDR 0x10004 +#define COMPAT_PT_TEXT_END_ADDR 0x10008 +#endif #ifndef __ASSEMBLY__ diff --git a/arch/arm64/kernel/ptrace.c b/arch/arm64/kernel/ptrace.c index ac3550ecc7b5..2ea3968367c2 100644 --- a/arch/arm64/kernel/ptrace.c +++ b/arch/arm64/kernel/ptrace.c @@ -823,11 +823,11 @@ static int compat_ptrace_read_user(struct task_struct *tsk, compat_ulong_t off, if (off & 3) return -EIO; - if (off == PT_TEXT_ADDR) + if (off == COMPAT_PT_TEXT_ADDR) tmp = tsk->mm->start_code; - else if (off == PT_DATA_ADDR) + else if (off == COMPAT_PT_DATA_ADDR) tmp = tsk->mm->start_data; - else if (off == PT_TEXT_END_ADDR) + else if (off == COMPAT_PT_TEXT_END_ADDR) tmp = tsk->mm->end_code; else if (off < sizeof(compat_elf_gregset_t)) return copy_regset_to_user(tsk, &user_aarch32_view, -- GitLab