aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/syscalls.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/syscalls.h')
-rw-r--r--include/linux/syscalls.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
index 390e814fdc8d..a368a68cb667 100644
--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -66,6 +66,7 @@ struct old_linux_dirent;
66struct perf_event_attr; 66struct perf_event_attr;
67struct file_handle; 67struct file_handle;
68struct sigaltstack; 68struct sigaltstack;
69struct rseq;
69union bpf_attr; 70union bpf_attr;
70 71
71#include <linux/types.h> 72#include <linux/types.h>
@@ -230,6 +231,9 @@ static inline int is_syscall_trace_event(struct trace_event_call *tp_event)
230 */ 231 */
231#ifndef __SYSCALL_DEFINEx 232#ifndef __SYSCALL_DEFINEx
232#define __SYSCALL_DEFINEx(x, name, ...) \ 233#define __SYSCALL_DEFINEx(x, name, ...) \
234 __diag_push(); \
235 __diag_ignore(GCC, 8, "-Wattribute-alias", \
236 "Type aliasing is used to sanitize syscall arguments");\
233 asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ 237 asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
234 __attribute__((alias(__stringify(__se_sys##name)))); \ 238 __attribute__((alias(__stringify(__se_sys##name)))); \
235 ALLOW_ERROR_INJECTION(sys##name, ERRNO); \ 239 ALLOW_ERROR_INJECTION(sys##name, ERRNO); \
@@ -242,6 +246,7 @@ static inline int is_syscall_trace_event(struct trace_event_call *tp_event)
242 __PROTECT(x, ret,__MAP(x,__SC_ARGS,__VA_ARGS__)); \ 246 __PROTECT(x, ret,__MAP(x,__SC_ARGS,__VA_ARGS__)); \
243 return ret; \ 247 return ret; \
244 } \ 248 } \
249 __diag_pop(); \
245 static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) 250 static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))
246#endif /* __SYSCALL_DEFINEx */ 251#endif /* __SYSCALL_DEFINEx */
247 252
@@ -897,7 +902,8 @@ asmlinkage long sys_pkey_alloc(unsigned long flags, unsigned long init_val);
897asmlinkage long sys_pkey_free(int pkey); 902asmlinkage long sys_pkey_free(int pkey);
898asmlinkage long sys_statx(int dfd, const char __user *path, unsigned flags, 903asmlinkage long sys_statx(int dfd, const char __user *path, unsigned flags,
899 unsigned mask, struct statx __user *buffer); 904 unsigned mask, struct statx __user *buffer);
900 905asmlinkage long sys_rseq(struct rseq __user *rseq, uint32_t rseq_len,
906 int flags, uint32_t sig);
901 907
902/* 908/*
903 * Architecture-specific system calls 909 * Architecture-specific system calls