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
31static 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 */
44