blob: 6b6f42bc58f95942b610ac8b199dd30903cd2962 [file] [log] [blame]
Thomas Gleixnerd2912cb2019-06-04 10:11:33 +02001/* SPDX-License-Identifier: GPL-2.0-only */
AKASHI Takahiro65a2ae82014-11-28 05:26:36 +00002/*
3 * include/asm-generic/seccomp.h
4 *
5 * Copyright (C) 2014 Linaro Limited
6 * Author: AKASHI Takahiro <takahiro.akashi@linaro.org>
AKASHI Takahiro65a2ae82014-11-28 05:26:36 +00007 */
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
Kees Cookddaa27e2015-04-16 12:48:44 -070017#ifndef __NR_seccomp_sigreturn_32
AKASHI Takahiro65a2ae82014-11-28 05:26:36 +000018#define __NR_seccomp_sigreturn_32 __NR_rt_sigreturn
Kees Cookddaa27e2015-04-16 12:48:44 -070019#endif
AKASHI Takahiro65a2ae82014-11-28 05:26:36 +000020#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
Matt Redfearnc983f0e2016-03-29 09:35:32 +010029#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,
Kees Cookfe4bfff2020-06-19 12:20:15 -070036 -1, /* negative terminated */
Matt Redfearnc983f0e2016-03-29 09:35:32 +010037 };
38 return mode1_syscalls_32;
39}
40#endif
41#endif /* CONFIG_COMPAT */
42
AKASHI Takahiro65a2ae82014-11-28 05:26:36 +000043#endif /* _ASM_GENERIC_SECCOMP_H */