1 #ifndef _LINUX_SECCOMP_H 2 #define _LINUX_SECCOMP_H 3 4 #include <linux/config.h> 5 6 #ifdef CONFIG_SECCOMP 7 8 #define NR_SECCOMP_MODES 1 9 10 #include <linux/thread_info.h> 11 #include <asm/seccomp.h> 12 13 typedef struct { int mode; } seccomp_t; 14 15 extern void __secure_computing(int); 16 static inline void secure_computing(int this_syscall) 17 { 18 if (unlikely(test_thread_flag(TIF_SECCOMP))) 19 __secure_computing(this_syscall); 20 } 21 22 static inline int has_secure_computing(struct thread_info *ti) 23 { 24 return unlikely(test_ti_thread_flag(ti, TIF_SECCOMP)); 25 } 26 27 #else /* CONFIG_SECCOMP */ 28 29 typedef struct { } seccomp_t; 30 31 #define secure_computing(x) do { } while (0) 32 /* static inline to preserve typechecking */ 33 static inline int has_secure_computing(struct thread_info *ti) 34 { 35 return 0; 36 } 37 38 #endif /* CONFIG_SECCOMP */ 39 40 #endif /* _LINUX_SECCOMP_H */ 41