diff options
| -rw-r--r-- | arch/arm64/include/asm/unistd.h | 14 | ||||
| -rw-r--r-- | arch/arm64/include/asm/unistd32.h | 18 | ||||
| -rw-r--r-- | arch/arm64/kernel/entry.S | 1 | ||||
| -rw-r--r-- | arch/arm64/kernel/signal32.c | 4 | ||||
| -rw-r--r-- | arch/arm64/kernel/sys32.S | 3 | ||||
| -rw-r--r-- | arch/arm64/kernel/sys_compat.c | 4 |
6 files changed, 15 insertions, 29 deletions
diff --git a/arch/arm64/include/asm/unistd.h b/arch/arm64/include/asm/unistd.h index 8f03dee066ed..9a981b2663c4 100644 --- a/arch/arm64/include/asm/unistd.h +++ b/arch/arm64/include/asm/unistd.h | |||
| @@ -14,12 +14,20 @@ | |||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
| 15 | */ | 15 | */ |
| 16 | 16 | ||
| 17 | #ifndef __SYSCALL_COMPAT | ||
| 18 | #include <asm-generic/unistd.h> | 17 | #include <asm-generic/unistd.h> |
| 19 | #endif | ||
| 20 | 18 | ||
| 21 | #ifdef __KERNEL__ | 19 | #ifdef __KERNEL__ |
| 22 | #ifdef CONFIG_COMPAT | 20 | #ifdef CONFIG_COMPAT |
| 23 | #include <asm/unistd32.h> | 21 | #define __ARCH_WANT_COMPAT_IPC_PARSE_VERSION |
| 22 | #define __ARCH_WANT_COMPAT_STAT64 | ||
| 23 | #define __ARCH_WANT_SYS_GETHOSTNAME | ||
| 24 | #define __ARCH_WANT_SYS_PAUSE | ||
| 25 | #define __ARCH_WANT_SYS_GETPGRP | ||
| 26 | #define __ARCH_WANT_SYS_LLSEEK | ||
| 27 | #define __ARCH_WANT_SYS_NICE | ||
| 28 | #define __ARCH_WANT_SYS_SIGPENDING | ||
| 29 | #define __ARCH_WANT_SYS_SIGPROCMASK | ||
| 30 | #define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND | ||
| 31 | #define __ARCH_WANT_COMPAT_SYS_SENDFILE | ||
| 24 | #endif | 32 | #endif |
| 25 | #endif | 33 | #endif |
diff --git a/arch/arm64/include/asm/unistd32.h b/arch/arm64/include/asm/unistd32.h index 3954ee504d3e..6d909faebf28 100644 --- a/arch/arm64/include/asm/unistd32.h +++ b/arch/arm64/include/asm/unistd32.h | |||
| @@ -21,8 +21,6 @@ | |||
| 21 | #define __SYSCALL(x, y) | 21 | #define __SYSCALL(x, y) |
| 22 | #endif | 22 | #endif |
| 23 | 23 | ||
| 24 | #ifdef __SYSCALL_COMPAT | ||
| 25 | |||
| 26 | __SYSCALL(0, sys_restart_syscall) | 24 | __SYSCALL(0, sys_restart_syscall) |
| 27 | __SYSCALL(1, sys_exit) | 25 | __SYSCALL(1, sys_exit) |
| 28 | __SYSCALL(2, compat_sys_fork_wrapper) | 26 | __SYSCALL(2, compat_sys_fork_wrapper) |
| @@ -414,19 +412,3 @@ __SYSCALL(373, sys_syncfs) | |||
| 414 | #define __ARM_NR_COMPAT_BASE 0x0f0000 | 412 | #define __ARM_NR_COMPAT_BASE 0x0f0000 |
| 415 | #define __ARM_NR_compat_cacheflush (__ARM_NR_COMPAT_BASE+2) | 413 | #define __ARM_NR_compat_cacheflush (__ARM_NR_COMPAT_BASE+2) |
| 416 | #define __ARM_NR_compat_set_tls (__ARM_NR_COMPAT_BASE+5) | 414 | #define __ARM_NR_compat_set_tls (__ARM_NR_COMPAT_BASE+5) |
| 417 | |||
| 418 | #endif /* __SYSCALL_COMPAT */ | ||
| 419 | |||
| 420 | #define __NR_compat_syscalls 374 | ||
| 421 | |||
| 422 | #define __ARCH_WANT_COMPAT_IPC_PARSE_VERSION | ||
| 423 | #define __ARCH_WANT_COMPAT_STAT64 | ||
| 424 | #define __ARCH_WANT_SYS_GETHOSTNAME | ||
| 425 | #define __ARCH_WANT_SYS_PAUSE | ||
| 426 | #define __ARCH_WANT_SYS_GETPGRP | ||
| 427 | #define __ARCH_WANT_SYS_LLSEEK | ||
| 428 | #define __ARCH_WANT_SYS_NICE | ||
| 429 | #define __ARCH_WANT_SYS_SIGPENDING | ||
| 430 | #define __ARCH_WANT_SYS_SIGPROCMASK | ||
| 431 | #define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND | ||
| 432 | #define __ARCH_WANT_COMPAT_SYS_SENDFILE | ||
diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S index 6538928ff1ab..a6f3f7da6880 100644 --- a/arch/arm64/kernel/entry.S +++ b/arch/arm64/kernel/entry.S | |||
| @@ -26,6 +26,7 @@ | |||
| 26 | #include <asm/errno.h> | 26 | #include <asm/errno.h> |
| 27 | #include <asm/thread_info.h> | 27 | #include <asm/thread_info.h> |
| 28 | #include <asm/unistd.h> | 28 | #include <asm/unistd.h> |
| 29 | #include <asm/unistd32.h> | ||
| 29 | 30 | ||
| 30 | /* | 31 | /* |
| 31 | * Bad Abort numbers | 32 | * Bad Abort numbers |
diff --git a/arch/arm64/kernel/signal32.c b/arch/arm64/kernel/signal32.c index 6001a44f8f6b..4654824747a4 100644 --- a/arch/arm64/kernel/signal32.c +++ b/arch/arm64/kernel/signal32.c | |||
| @@ -18,8 +18,6 @@ | |||
| 18 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | 18 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
| 19 | */ | 19 | */ |
| 20 | 20 | ||
| 21 | #define __SYSCALL_COMPAT | ||
| 22 | |||
| 23 | #include <linux/compat.h> | 21 | #include <linux/compat.h> |
| 24 | #include <linux/signal.h> | 22 | #include <linux/signal.h> |
| 25 | #include <linux/syscalls.h> | 23 | #include <linux/syscalls.h> |
| @@ -28,7 +26,7 @@ | |||
| 28 | #include <asm/fpsimd.h> | 26 | #include <asm/fpsimd.h> |
| 29 | #include <asm/signal32.h> | 27 | #include <asm/signal32.h> |
| 30 | #include <asm/uaccess.h> | 28 | #include <asm/uaccess.h> |
| 31 | #include <asm/unistd.h> | 29 | #include <asm/unistd32.h> |
| 32 | 30 | ||
| 33 | struct compat_sigaction { | 31 | struct compat_sigaction { |
| 34 | compat_uptr_t sa_handler; | 32 | compat_uptr_t sa_handler; |
diff --git a/arch/arm64/kernel/sys32.S b/arch/arm64/kernel/sys32.S index c1e46dbacefc..54c4aec47a08 100644 --- a/arch/arm64/kernel/sys32.S +++ b/arch/arm64/kernel/sys32.S | |||
| @@ -149,11 +149,10 @@ ENDPROC(compat_sys_fanotify_mark_wrapper) | |||
| 149 | 149 | ||
| 150 | #undef __SYSCALL | 150 | #undef __SYSCALL |
| 151 | #define __SYSCALL(x, y) .quad y // x | 151 | #define __SYSCALL(x, y) .quad y // x |
| 152 | #define __SYSCALL_COMPAT | ||
| 153 | 152 | ||
| 154 | /* | 153 | /* |
| 155 | * The system calls table must be 4KB aligned. | 154 | * The system calls table must be 4KB aligned. |
| 156 | */ | 155 | */ |
| 157 | .align 12 | 156 | .align 12 |
| 158 | ENTRY(compat_sys_call_table) | 157 | ENTRY(compat_sys_call_table) |
| 159 | #include <asm/unistd.h> | 158 | #include <asm/unistd32.h> |
diff --git a/arch/arm64/kernel/sys_compat.c b/arch/arm64/kernel/sys_compat.c index 93f10e27dc79..fd2b4cb0d13b 100644 --- a/arch/arm64/kernel/sys_compat.c +++ b/arch/arm64/kernel/sys_compat.c | |||
| @@ -18,8 +18,6 @@ | |||
| 18 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | 18 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
| 19 | */ | 19 | */ |
| 20 | 20 | ||
| 21 | #define __SYSCALL_COMPAT | ||
| 22 | |||
| 23 | #include <linux/compat.h> | 21 | #include <linux/compat.h> |
| 24 | #include <linux/personality.h> | 22 | #include <linux/personality.h> |
| 25 | #include <linux/sched.h> | 23 | #include <linux/sched.h> |
| @@ -28,7 +26,7 @@ | |||
| 28 | #include <linux/uaccess.h> | 26 | #include <linux/uaccess.h> |
| 29 | 27 | ||
| 30 | #include <asm/cacheflush.h> | 28 | #include <asm/cacheflush.h> |
| 31 | #include <asm/unistd.h> | 29 | #include <asm/unistd32.h> |
| 32 | 30 | ||
| 33 | asmlinkage int compat_sys_fork(struct pt_regs *regs) | 31 | asmlinkage int compat_sys_fork(struct pt_regs *regs) |
| 34 | { | 32 | { |
