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 <catalin.marinas@arm.com> Acked-by: Will Deacon <will.deacon@arm.com>
This commit is contained in:
Родитель
f3d447a97f
Коммит
7606c37d4a
|
@ -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
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
|
||||
#include <asm/hwcap.h>
|
||||
|
||||
#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__
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
Загрузка…
Ссылка в новой задаче