diff options
author | Catalin Marinas <catalin.marinas@arm.com> | 2015-01-06 11:42:32 -0500 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2015-01-27 04:38:07 -0500 |
commit | 0156411b1828771c09c92f034e7b81f702b84f07 (patch) | |
tree | a0c06d493a7e852ed9e736c42be740927c21094d /arch/arm64/kernel/entry.S | |
parent | 54e45c169dbce43cf46d00eb1521b655b6e4f9e9 (diff) |
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.S | 2 |
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: | |||
433 | /* | 433 | /* |
434 | * AArch32 syscall handling | 434 | * AArch32 syscall handling |
435 | */ | 435 | */ |
436 | adr stbl, compat_sys_call_table // load compat syscall table pointer | 436 | adrp stbl, compat_sys_call_table // load compat syscall table pointer |
437 | uxtw scno, w7 // syscall number in w7 (r7) | 437 | uxtw scno, w7 // syscall number in w7 (r7) |
438 | mov sc_nr, #__NR_compat_syscalls | 438 | mov sc_nr, #__NR_compat_syscalls |
439 | b el0_svc_naked | 439 | b el0_svc_naked |