Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7606c37d authored by Catalin Marinas's avatar Catalin Marinas
Browse files

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: default avatarCatalin Marinas <catalin.marinas@arm.com>
Acked-by: default avatarWill Deacon <will.deacon@arm.com>
parent f3d447a9
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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
+9 −3
Original line number Diff line number Diff line
@@ -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__

+3 −3
Original line number Diff line number Diff line
@@ -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,