1/*
2 * include/asm-generic/seccomp.h
3 *
4 * Copyright (C) 2014 Linaro Limited
5 * Author: AKASHI Takahiro <takahiro.akashi@linaro.org>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
10 */
11#ifndef _ASM_GENERIC_SECCOMP_H
12#define _ASM_GENERIC_SECCOMP_H
13
14#include <linux/unistd.h>
15
16#if defined(CONFIG_COMPAT) && !defined(__NR_seccomp_read_32)
17#define __NR_seccomp_read_32 __NR_read
18#define __NR_seccomp_write_32 __NR_write
19#define __NR_seccomp_exit_32 __NR_exit
20#ifndef __NR_seccomp_sigreturn_32
21#define __NR_seccomp_sigreturn_32 __NR_rt_sigreturn
22#endif
23#endif /* CONFIG_COMPAT && ! already defined */
24
25#define __NR_seccomp_read __NR_read
26#define __NR_seccomp_write __NR_write
27#define __NR_seccomp_exit __NR_exit
28#ifndef __NR_seccomp_sigreturn
29#define __NR_seccomp_sigreturn __NR_rt_sigreturn
30#endif
31
32#ifdef CONFIG_COMPAT
33#ifndef get_compat_mode1_syscalls
34static inline const int *get_compat_mode1_syscalls(void)
35{
36 static const int mode1_syscalls_32[] = {
37 __NR_seccomp_read_32, __NR_seccomp_write_32,
38 __NR_seccomp_exit_32, __NR_seccomp_sigreturn_32,
39 0, /* null terminated */
40 };
41 return mode1_syscalls_32;
42}
43#endif
44#endif /* CONFIG_COMPAT */
45
46#endif /* _ASM_GENERIC_SECCOMP_H */
47