diff options
Diffstat (limited to 'include/linux/seccomp.h')
-rw-r--r-- | include/linux/seccomp.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/include/linux/seccomp.h b/include/linux/seccomp.h new file mode 100644 index 00000000..cc7a4e9c --- /dev/null +++ b/include/linux/seccomp.h @@ -0,0 +1,52 @@ +#ifndef _LINUX_SECCOMP_H +#define _LINUX_SECCOMP_H + + +#ifdef CONFIG_SECCOMP + +#include <linux/thread_info.h> +#include <asm/seccomp.h> + +typedef struct { int mode; } seccomp_t; + +extern void __secure_computing(int); +static inline void secure_computing(int this_syscall) +{ + if (unlikely(test_thread_flag(TIF_SECCOMP))) + __secure_computing(this_syscall); +} + +extern long prctl_get_seccomp(void); +extern long prctl_set_seccomp(unsigned long); + +static inline int seccomp_mode(seccomp_t *s) +{ + return s->mode; +} + +#else /* CONFIG_SECCOMP */ + +#include <linux/errno.h> + +typedef struct { } seccomp_t; + +#define secure_computing(x) do { } while (0) + +static inline long prctl_get_seccomp(void) +{ + return -EINVAL; +} + +static inline long prctl_set_seccomp(unsigned long arg2) +{ + return -EINVAL; +} + +static inline int seccomp_mode(seccomp_t *s) +{ + return 0; +} + +#endif /* CONFIG_SECCOMP */ + +#endif /* _LINUX_SECCOMP_H */ |