summaryrefslogtreecommitdiffstats
path: root/arch/arm64/kernel/entry.S
diff options
context:
space:
mode:
authorCatalin Marinas2015-01-06 17:42:32 +0100
committerCatalin Marinas2015-01-27 10:38:07 +0100
commit0156411b1828771c09c92f034e7b81f702b84f07 (patch)
treea0c06d493a7e852ed9e736c42be740927c21094d /arch/arm64/kernel/entry.S
parentsyscalls: Declare sys_*stat64 prototypes if __ARCH_WANT_(COMPAT_)STAT64 (diff)
downloadkernel-qcow2-linux-0156411b1828771c09c92f034e7b81f702b84f07.tar.gz
kernel-qcow2-linux-0156411b1828771c09c92f034e7b81f702b84f07.tar.xz
kernel-qcow2-linux-0156411b1828771c09c92f034e7b81f702b84f07.zip
arm64: Implement the compat_sys_call_table in C
Unlike the sys_call_table[], the compat one was implemented in sys32.S making it impossible to notice discrepancies between the number of compat syscalls and the __NR_compat_syscalls macro, the latter having to be defined in asm/unistd.h as including asm/unistd32.h would cause conflicts on __NR_* definitions. With this patch, incorrect __NR_compat_syscalls values will result in a build-time error. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Suggested-by: Mark Rutland <mark.rutland@arm.com> Acked-by: Mark Rutland <mark.rutland@arm.com>
Diffstat (limited to 'arch/arm64/kernel/entry.S')
-rw-r--r--arch/arm64/kernel/entry.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S
index 02e6af117762..cf21bb3bf752 100644
--- a/arch/arm64/kernel/entry.S
+++ b/arch/arm64/kernel/entry.S
@@ -433,7 +433,7 @@ el0_svc_compat:
/*
* AArch32 syscall handling
*/
- adr stbl, compat_sys_call_table // load compat syscall table pointer
+ adrp stbl, compat_sys_call_table // load compat syscall table pointer
uxtw scno, w7 // syscall number in w7 (r7)
mov sc_nr, #__NR_compat_syscalls
b el0_svc_naked