Merge tag 'for-linus-5.9-rc1b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git...
[platform/kernel/linux-rpi.git] / include / asm-generic / seccomp.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * include/asm-generic/seccomp.h
4  *
5  * Copyright (C) 2014 Linaro Limited
6  * Author: AKASHI Takahiro <takahiro.akashi@linaro.org>
7  */
8 #ifndef _ASM_GENERIC_SECCOMP_H
9 #define _ASM_GENERIC_SECCOMP_H
10
11 #include <linux/unistd.h>
12
13 #if defined(CONFIG_COMPAT) && !defined(__NR_seccomp_read_32)
14 #define __NR_seccomp_read_32            __NR_read
15 #define __NR_seccomp_write_32           __NR_write
16 #define __NR_seccomp_exit_32            __NR_exit
17 #ifndef __NR_seccomp_sigreturn_32
18 #define __NR_seccomp_sigreturn_32       __NR_rt_sigreturn
19 #endif
20 #endif /* CONFIG_COMPAT && ! already defined */
21
22 #define __NR_seccomp_read               __NR_read
23 #define __NR_seccomp_write              __NR_write
24 #define __NR_seccomp_exit               __NR_exit
25 #ifndef __NR_seccomp_sigreturn
26 #define __NR_seccomp_sigreturn          __NR_rt_sigreturn
27 #endif
28
29 #ifdef CONFIG_COMPAT
30 #ifndef get_compat_mode1_syscalls
31 static inline const int *get_compat_mode1_syscalls(void)
32 {
33         static const int mode1_syscalls_32[] = {
34                 __NR_seccomp_read_32, __NR_seccomp_write_32,
35                 __NR_seccomp_exit_32, __NR_seccomp_sigreturn_32,
36                 -1, /* negative terminated */
37         };
38         return mode1_syscalls_32;
39 }
40 #endif
41 #endif /* CONFIG_COMPAT */
42
43 #endif /* _ASM_GENERIC_SECCOMP_H */