diff options
Diffstat (limited to 'include/linux/syscalls.h')
| -rw-r--r-- | include/linux/syscalls.h | 8 |
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; | |||
| 66 | struct perf_event_attr; | 66 | struct perf_event_attr; |
| 67 | struct file_handle; | 67 | struct file_handle; |
| 68 | struct sigaltstack; | 68 | struct sigaltstack; |
| 69 | struct rseq; | ||
| 69 | union bpf_attr; | 70 | union 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); | |||
| 897 | asmlinkage long sys_pkey_free(int pkey); | 902 | asmlinkage long sys_pkey_free(int pkey); |
| 898 | asmlinkage long sys_statx(int dfd, const char __user *path, unsigned flags, | 903 | asmlinkage 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 | 905 | asmlinkage 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 |
