1#ifndef _LINUX_SECCOMP_H 2#define _LINUX_SECCOMP_H 3 4 5#ifdef CONFIG_SECCOMP 6 7#include <linux/thread_info.h> 8#include <asm/seccomp.h> 9 10typedef struct { int mode; } seccomp_t; 11 12extern void __secure_computing(int); 13static inline void secure_computing(int this_syscall) 14{ 15 if (unlikely(test_thread_flag(TIF_SECCOMP))) 16 __secure_computing(this_syscall); 17} 18 19extern long prctl_get_seccomp(void); 20extern long prctl_set_seccomp(unsigned long); 21 22static inline int seccomp_mode(seccomp_t *s) 23{ 24 return s->mode; 25} 26 27#else /* CONFIG_SECCOMP */ 28 29#include <linux/errno.h> 30 31typedef struct { } seccomp_t; 32 33#define secure_computing(x) do { } while (0) 34 35static inline long prctl_get_seccomp(void) 36{ 37 return -EINVAL; 38} 39 40static inline long prctl_set_seccomp(unsigned long arg2) 41{ 42 return -EINVAL; 43} 44 45static inline int seccomp_mode(seccomp_t *s) 46{ 47 return 0; 48} 49 50#endif /* CONFIG_SECCOMP */ 51 52#endif /* _LINUX_SECCOMP_H */ 53