summaryrefslogtreecommitdiffstats
path: root/sys/i386/linux
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2017-02-23 06:37:07 -0300
committerRenato Botelho <renato@netgate.com>2017-02-23 06:37:07 -0300
commit4ef888db25896b2295f521c736ef04aa2e5e64ec (patch)
tree3fcc00dda536bd32ae85bc09f21be4081d32bad5 /sys/i386/linux
parent272ffd7c3e4e5e27910eb918e2e36556f2a8ec3a (diff)
parentaf015c5bcac0e333adeec07eff0698bad3b91e95 (diff)
downloadFreeBSD-src-4ef888db25896b2295f521c736ef04aa2e5e64ec.zip
FreeBSD-src-4ef888db25896b2295f521c736ef04aa2e5e64ec.tar.gz
Merge remote-tracking branch 'origin/stable/11' into devel-11
Diffstat (limited to 'sys/i386/linux')
-rw-r--r--sys/i386/linux/linux_dummy.c39
-rw-r--r--sys/i386/linux/linux_proto.h299
-rw-r--r--sys/i386/linux/linux_syscall.h40
-rw-r--r--sys/i386/linux/linux_syscalls.c40
-rw-r--r--sys/i386/linux/linux_sysent.c48
-rw-r--r--sys/i386/linux/linux_systrace_args.c1260
-rw-r--r--sys/i386/linux/syscalls.master123
7 files changed, 1805 insertions, 44 deletions
diff --git a/sys/i386/linux/linux_dummy.c b/sys/i386/linux/linux_dummy.c
index fd73c9d..9aafeb3 100644
--- a/sys/i386/linux/linux_dummy.c
+++ b/sys/i386/linux/linux_dummy.c
@@ -109,19 +109,52 @@ DUMMY(inotify_init1);
/* linux 2.6.30: */
DUMMY(preadv);
DUMMY(pwritev);
-/* linux 2.6.31 */
-DUMMY(rt_tsigqueueinfo);
+/* linux 2.6.31: */
+DUMMY(rt_tgsigqueueinfo);
DUMMY(perf_event_open);
/* linux 2.6.33: */
DUMMY(fanotify_init);
DUMMY(fanotify_mark);
-/* later: */
+/* linux 2.6.39: */
DUMMY(name_to_handle_at);
DUMMY(open_by_handle_at);
DUMMY(clock_adjtime);
+/* linux 3.0: */
DUMMY(setns);
+/* linux 3.2: */
DUMMY(process_vm_readv);
DUMMY(process_vm_writev);
+/* linux 3.5: */
+DUMMY(kcmp);
+/* linux 3.8: */
+DUMMY(finit_module);
+DUMMY(sched_setattr);
+DUMMY(sched_getattr);
+/* linux 3.14: */
+DUMMY(renameat2);
+/* linux 3.15: */
+DUMMY(seccomp);
+DUMMY(getrandom);
+DUMMY(memfd_create);
+/* linux 3.18: */
+DUMMY(bpf);
+/* linux 3.19: */
+DUMMY(execveat);
+/* linux 4.2: */
+DUMMY(userfaultfd);
+/* linux 4.3: */
+DUMMY(membarrier);
+/* linux 4.4: */
+DUMMY(mlock2);
+/* linux 4.5: */
+DUMMY(copy_file_range);
+/* linux 4.6: */
+DUMMY(preadv2);
+DUMMY(pwritev2);
+/* linux 4.8: */
+DUMMY(pkey_mprotect);
+DUMMY(pkey_alloc);
+DUMMY(pkey_free);
#define DUMMY_XATTR(s) \
int \
diff --git a/sys/i386/linux/linux_proto.h b/sys/i386/linux/linux_proto.h
index 19b6881..96493d8 100644
--- a/sys/i386/linux/linux_proto.h
+++ b/sys/i386/linux/linux_proto.h
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/i386/linux/syscalls.master 302515 2016-07-10 08:15:50Z dchagin
+ * created from FreeBSD: head/sys/i386/linux/syscalls.master 313284 2017-02-05 14:17:09Z dchagin
*/
#ifndef _LINUX_SYSPROTO_H_
@@ -1121,13 +1121,24 @@ struct linux_inotify_init1_args {
register_t dummy;
};
struct linux_preadv_args {
- register_t dummy;
+ char fd_l_[PADL_(l_ulong)]; l_ulong fd; char fd_r_[PADR_(l_ulong)];
+ char vec_l_[PADL_(struct iovec *)]; struct iovec * vec; char vec_r_[PADR_(struct iovec *)];
+ char vlen_l_[PADL_(l_ulong)]; l_ulong vlen; char vlen_r_[PADR_(l_ulong)];
+ char pos_l_l_[PADL_(l_ulong)]; l_ulong pos_l; char pos_l_r_[PADR_(l_ulong)];
+ char pos_h_l_[PADL_(l_ulong)]; l_ulong pos_h; char pos_h_r_[PADR_(l_ulong)];
};
struct linux_pwritev_args {
- register_t dummy;
-};
-struct linux_rt_tsigqueueinfo_args {
- register_t dummy;
+ char fd_l_[PADL_(l_ulong)]; l_ulong fd; char fd_r_[PADR_(l_ulong)];
+ char vec_l_[PADL_(struct iovec *)]; struct iovec * vec; char vec_r_[PADR_(struct iovec *)];
+ char vlen_l_[PADL_(l_ulong)]; l_ulong vlen; char vlen_r_[PADR_(l_ulong)];
+ char pos_l_l_[PADL_(l_ulong)]; l_ulong pos_l; char pos_l_r_[PADR_(l_ulong)];
+ char pos_h_l_[PADL_(l_ulong)]; l_ulong pos_h; char pos_h_r_[PADR_(l_ulong)];
+};
+struct linux_rt_tgsigqueueinfo_args {
+ char tgid_l_[PADL_(l_pid_t)]; l_pid_t tgid; char tgid_r_[PADR_(l_pid_t)];
+ char tid_l_[PADL_(l_pid_t)]; l_pid_t tid; char tid_r_[PADR_(l_pid_t)];
+ char sig_l_[PADL_(l_int)]; l_int sig; char sig_r_[PADR_(l_int)];
+ char uinfo_l_[PADL_(l_siginfo_t *)]; l_siginfo_t * uinfo; char uinfo_r_[PADR_(l_siginfo_t *)];
};
struct linux_perf_event_open_args {
register_t dummy;
@@ -1173,10 +1184,210 @@ struct linux_setns_args {
register_t dummy;
};
struct linux_process_vm_readv_args {
- register_t dummy;
+ char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)];
+ char lvec_l_[PADL_(const struct iovec *)]; const struct iovec * lvec; char lvec_r_[PADR_(const struct iovec *)];
+ char liovcnt_l_[PADL_(l_ulong)]; l_ulong liovcnt; char liovcnt_r_[PADR_(l_ulong)];
+ char rvec_l_[PADL_(const struct iovec *)]; const struct iovec * rvec; char rvec_r_[PADR_(const struct iovec *)];
+ char riovcnt_l_[PADL_(l_ulong)]; l_ulong riovcnt; char riovcnt_r_[PADR_(l_ulong)];
+ char flags_l_[PADL_(l_ulong)]; l_ulong flags; char flags_r_[PADR_(l_ulong)];
};
struct linux_process_vm_writev_args {
- register_t dummy;
+ char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)];
+ char lvec_l_[PADL_(const struct iovec *)]; const struct iovec * lvec; char lvec_r_[PADR_(const struct iovec *)];
+ char liovcnt_l_[PADL_(l_ulong)]; l_ulong liovcnt; char liovcnt_r_[PADR_(l_ulong)];
+ char rvec_l_[PADL_(const struct iovec *)]; const struct iovec * rvec; char rvec_r_[PADR_(const struct iovec *)];
+ char riovcnt_l_[PADL_(l_ulong)]; l_ulong riovcnt; char riovcnt_r_[PADR_(l_ulong)];
+ char flags_l_[PADL_(l_ulong)]; l_ulong flags; char flags_r_[PADR_(l_ulong)];
+};
+struct linux_kcmp_args {
+ char pid1_l_[PADL_(l_pid_t)]; l_pid_t pid1; char pid1_r_[PADR_(l_pid_t)];
+ char pid2_l_[PADL_(l_pid_t)]; l_pid_t pid2; char pid2_r_[PADR_(l_pid_t)];
+ char type_l_[PADL_(l_int)]; l_int type; char type_r_[PADR_(l_int)];
+ char idx1_l_[PADL_(l_ulong)]; l_ulong idx1; char idx1_r_[PADR_(l_ulong)];
+ char idx_l_[PADL_(l_ulong)]; l_ulong idx; char idx_r_[PADR_(l_ulong)];
+};
+struct linux_finit_module_args {
+ char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
+ char uargs_l_[PADL_(const char *)]; const char * uargs; char uargs_r_[PADR_(const char *)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
+};
+struct linux_sched_setattr_args {
+ char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)];
+ char attr_l_[PADL_(void *)]; void * attr; char attr_r_[PADR_(void *)];
+ char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)];
+};
+struct linux_sched_getattr_args {
+ char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)];
+ char attr_l_[PADL_(void *)]; void * attr; char attr_r_[PADR_(void *)];
+ char size_l_[PADL_(l_uint)]; l_uint size; char size_r_[PADR_(l_uint)];
+ char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)];
+};
+struct linux_renameat2_args {
+ char oldfd_l_[PADL_(l_int)]; l_int oldfd; char oldfd_r_[PADR_(l_int)];
+ char oldname_l_[PADL_(const char *)]; const char * oldname; char oldname_r_[PADR_(const char *)];
+ char newfd_l_[PADL_(l_int)]; l_int newfd; char newfd_r_[PADR_(l_int)];
+ char newname_l_[PADL_(const char *)]; const char * newname; char newname_r_[PADR_(const char *)];
+ char flags_l_[PADL_(unsigned int)]; unsigned int flags; char flags_r_[PADR_(unsigned int)];
+};
+struct linux_seccomp_args {
+ char op_l_[PADL_(l_uint)]; l_uint op; char op_r_[PADR_(l_uint)];
+ char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)];
+ char uargs_l_[PADL_(const char *)]; const char * uargs; char uargs_r_[PADR_(const char *)];
+};
+struct linux_getrandom_args {
+ char buf_l_[PADL_(char *)]; char * buf; char buf_r_[PADR_(char *)];
+ char count_l_[PADL_(l_size_t)]; l_size_t count; char count_r_[PADR_(l_size_t)];
+ char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)];
+};
+struct linux_memfd_create_args {
+ char uname_ptr_l_[PADL_(const char *)]; const char * uname_ptr; char uname_ptr_r_[PADR_(const char *)];
+ char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)];
+};
+struct linux_bpf_args {
+ char cmd_l_[PADL_(l_int)]; l_int cmd; char cmd_r_[PADR_(l_int)];
+ char attr_l_[PADL_(void *)]; void * attr; char attr_r_[PADR_(void *)];
+ char size_l_[PADL_(l_uint)]; l_uint size; char size_r_[PADR_(l_uint)];
+};
+struct linux_execveat_args {
+ char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)];
+ char filename_l_[PADL_(const char *)]; const char * filename; char filename_r_[PADR_(const char *)];
+ char argv_l_[PADL_(const char **)]; const char ** argv; char argv_r_[PADR_(const char **)];
+ char envp_l_[PADL_(const char **)]; const char ** envp; char envp_r_[PADR_(const char **)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
+};
+struct linux_socket_args {
+ char domain_l_[PADL_(l_int)]; l_int domain; char domain_r_[PADR_(l_int)];
+ char type_l_[PADL_(l_int)]; l_int type; char type_r_[PADR_(l_int)];
+ char protocol_l_[PADL_(l_int)]; l_int protocol; char protocol_r_[PADR_(l_int)];
+};
+struct linux_socketpair_args {
+ char domain_l_[PADL_(l_int)]; l_int domain; char domain_r_[PADR_(l_int)];
+ char type_l_[PADL_(l_int)]; l_int type; char type_r_[PADR_(l_int)];
+ char protocol_l_[PADL_(l_int)]; l_int protocol; char protocol_r_[PADR_(l_int)];
+ char rsv_l_[PADL_(l_uintptr_t)]; l_uintptr_t rsv; char rsv_r_[PADR_(l_uintptr_t)];
+};
+struct linux_bind_args {
+ char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)];
+ char name_l_[PADL_(l_uintptr_t)]; l_uintptr_t name; char name_r_[PADR_(l_uintptr_t)];
+ char namelen_l_[PADL_(l_int)]; l_int namelen; char namelen_r_[PADR_(l_int)];
+};
+struct linux_connect_args {
+ char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)];
+ char name_l_[PADL_(l_uintptr_t)]; l_uintptr_t name; char name_r_[PADR_(l_uintptr_t)];
+ char namelen_l_[PADL_(l_int)]; l_int namelen; char namelen_r_[PADR_(l_int)];
+};
+struct linux_listen_args {
+ char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)];
+ char backlog_l_[PADL_(l_int)]; l_int backlog; char backlog_r_[PADR_(l_int)];
+};
+struct linux_accept4_args {
+ char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)];
+ char addr_l_[PADL_(l_uintptr_t)]; l_uintptr_t addr; char addr_r_[PADR_(l_uintptr_t)];
+ char namelen_l_[PADL_(l_uintptr_t)]; l_uintptr_t namelen; char namelen_r_[PADR_(l_uintptr_t)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
+};
+struct linux_getsockopt_args {
+ char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)];
+ char level_l_[PADL_(l_int)]; l_int level; char level_r_[PADR_(l_int)];
+ char optname_l_[PADL_(l_int)]; l_int optname; char optname_r_[PADR_(l_int)];
+ char optval_l_[PADL_(l_uintptr_t)]; l_uintptr_t optval; char optval_r_[PADR_(l_uintptr_t)];
+ char optlen_l_[PADL_(l_uintptr_t)]; l_uintptr_t optlen; char optlen_r_[PADR_(l_uintptr_t)];
+};
+struct linux_setsockopt_args {
+ char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)];
+ char level_l_[PADL_(l_int)]; l_int level; char level_r_[PADR_(l_int)];
+ char optname_l_[PADL_(l_int)]; l_int optname; char optname_r_[PADR_(l_int)];
+ char optval_l_[PADL_(l_uintptr_t)]; l_uintptr_t optval; char optval_r_[PADR_(l_uintptr_t)];
+ char optlen_l_[PADL_(l_int)]; l_int optlen; char optlen_r_[PADR_(l_int)];
+};
+struct linux_getsockname_args {
+ char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)];
+ char addr_l_[PADL_(l_uintptr_t)]; l_uintptr_t addr; char addr_r_[PADR_(l_uintptr_t)];
+ char namelen_l_[PADL_(l_uintptr_t)]; l_uintptr_t namelen; char namelen_r_[PADR_(l_uintptr_t)];
+};
+struct linux_getpeername_args {
+ char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)];
+ char addr_l_[PADL_(l_uintptr_t)]; l_uintptr_t addr; char addr_r_[PADR_(l_uintptr_t)];
+ char namelen_l_[PADL_(l_uintptr_t)]; l_uintptr_t namelen; char namelen_r_[PADR_(l_uintptr_t)];
+};
+struct linux_sendto_args {
+ char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)];
+ char msg_l_[PADL_(l_uintptr_t)]; l_uintptr_t msg; char msg_r_[PADR_(l_uintptr_t)];
+ char len_l_[PADL_(l_int)]; l_int len; char len_r_[PADR_(l_int)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
+ char to_l_[PADL_(l_uintptr_t)]; l_uintptr_t to; char to_r_[PADR_(l_uintptr_t)];
+ char tolen_l_[PADL_(l_int)]; l_int tolen; char tolen_r_[PADR_(l_int)];
+};
+struct linux_sendmsg_args {
+ char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)];
+ char msg_l_[PADL_(l_uintptr_t)]; l_uintptr_t msg; char msg_r_[PADR_(l_uintptr_t)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
+};
+struct linux_recvfrom_args {
+ char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)];
+ char buf_l_[PADL_(l_uintptr_t)]; l_uintptr_t buf; char buf_r_[PADR_(l_uintptr_t)];
+ char len_l_[PADL_(l_size_t)]; l_size_t len; char len_r_[PADR_(l_size_t)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
+ char from_l_[PADL_(l_uintptr_t)]; l_uintptr_t from; char from_r_[PADR_(l_uintptr_t)];
+ char fromlen_l_[PADL_(l_uintptr_t)]; l_uintptr_t fromlen; char fromlen_r_[PADR_(l_uintptr_t)];
+};
+struct linux_recvmsg_args {
+ char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)];
+ char msg_l_[PADL_(l_uintptr_t)]; l_uintptr_t msg; char msg_r_[PADR_(l_uintptr_t)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
+};
+struct linux_shutdown_args {
+ char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)];
+ char how_l_[PADL_(l_int)]; l_int how; char how_r_[PADR_(l_int)];
+};
+struct linux_userfaultfd_args {
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
+};
+struct linux_membarrier_args {
+ char cmd_l_[PADL_(l_int)]; l_int cmd; char cmd_r_[PADR_(l_int)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
+};
+struct linux_mlock2_args {
+ char start_l_[PADL_(l_ulong)]; l_ulong start; char start_r_[PADR_(l_ulong)];
+ char len_l_[PADL_(l_size_t)]; l_size_t len; char len_r_[PADR_(l_size_t)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
+};
+struct linux_copy_file_range_args {
+ char fd_in_l_[PADL_(l_int)]; l_int fd_in; char fd_in_r_[PADR_(l_int)];
+ char off_in_l_[PADL_(l_loff_t *)]; l_loff_t * off_in; char off_in_r_[PADR_(l_loff_t *)];
+ char fd_out_l_[PADL_(l_int)]; l_int fd_out; char fd_out_r_[PADR_(l_int)];
+ char off_out_l_[PADL_(l_loff_t *)]; l_loff_t * off_out; char off_out_r_[PADR_(l_loff_t *)];
+ char len_l_[PADL_(l_size_t)]; l_size_t len; char len_r_[PADR_(l_size_t)];
+ char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)];
+};
+struct linux_preadv2_args {
+ char fd_l_[PADL_(l_ulong)]; l_ulong fd; char fd_r_[PADR_(l_ulong)];
+ char vec_l_[PADL_(const struct iovec *)]; const struct iovec * vec; char vec_r_[PADR_(const struct iovec *)];
+ char vlen_l_[PADL_(l_ulong)]; l_ulong vlen; char vlen_r_[PADR_(l_ulong)];
+ char pos_l_l_[PADL_(l_ulong)]; l_ulong pos_l; char pos_l_r_[PADR_(l_ulong)];
+ char pos_h_l_[PADL_(l_ulong)]; l_ulong pos_h; char pos_h_r_[PADR_(l_ulong)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
+};
+struct linux_pwritev2_args {
+ char fd_l_[PADL_(l_ulong)]; l_ulong fd; char fd_r_[PADR_(l_ulong)];
+ char vec_l_[PADL_(const struct iovec *)]; const struct iovec * vec; char vec_r_[PADR_(const struct iovec *)];
+ char vlen_l_[PADL_(l_ulong)]; l_ulong vlen; char vlen_r_[PADR_(l_ulong)];
+ char pos_l_l_[PADL_(l_ulong)]; l_ulong pos_l; char pos_l_r_[PADR_(l_ulong)];
+ char pos_h_l_[PADL_(l_ulong)]; l_ulong pos_h; char pos_h_r_[PADR_(l_ulong)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
+};
+struct linux_pkey_mprotect_args {
+ char start_l_[PADL_(l_ulong)]; l_ulong start; char start_r_[PADR_(l_ulong)];
+ char len_l_[PADL_(l_size_t)]; l_size_t len; char len_r_[PADR_(l_size_t)];
+ char prot_l_[PADL_(l_ulong)]; l_ulong prot; char prot_r_[PADR_(l_ulong)];
+ char pkey_l_[PADL_(l_int)]; l_int pkey; char pkey_r_[PADR_(l_int)];
+};
+struct linux_pkey_alloc_args {
+ char flags_l_[PADL_(l_ulong)]; l_ulong flags; char flags_r_[PADR_(l_ulong)];
+ char init_val_l_[PADL_(l_ulong)]; l_ulong init_val; char init_val_r_[PADR_(l_ulong)];
+};
+struct linux_pkey_free_args {
+ char pkey_l_[PADL_(l_int)]; l_int pkey; char pkey_r_[PADR_(l_int)];
};
#define nosys linux_nosys
int linux_exit(struct thread *, struct linux_exit_args *);
@@ -1444,7 +1655,7 @@ int linux_pipe2(struct thread *, struct linux_pipe2_args *);
int linux_inotify_init1(struct thread *, struct linux_inotify_init1_args *);
int linux_preadv(struct thread *, struct linux_preadv_args *);
int linux_pwritev(struct thread *, struct linux_pwritev_args *);
-int linux_rt_tsigqueueinfo(struct thread *, struct linux_rt_tsigqueueinfo_args *);
+int linux_rt_tgsigqueueinfo(struct thread *, struct linux_rt_tgsigqueueinfo_args *);
int linux_perf_event_open(struct thread *, struct linux_perf_event_open_args *);
int linux_recvmmsg(struct thread *, struct linux_recvmmsg_args *);
int linux_fanotify_init(struct thread *, struct linux_fanotify_init_args *);
@@ -1458,6 +1669,40 @@ int linux_sendmmsg(struct thread *, struct linux_sendmmsg_args *);
int linux_setns(struct thread *, struct linux_setns_args *);
int linux_process_vm_readv(struct thread *, struct linux_process_vm_readv_args *);
int linux_process_vm_writev(struct thread *, struct linux_process_vm_writev_args *);
+int linux_kcmp(struct thread *, struct linux_kcmp_args *);
+int linux_finit_module(struct thread *, struct linux_finit_module_args *);
+int linux_sched_setattr(struct thread *, struct linux_sched_setattr_args *);
+int linux_sched_getattr(struct thread *, struct linux_sched_getattr_args *);
+int linux_renameat2(struct thread *, struct linux_renameat2_args *);
+int linux_seccomp(struct thread *, struct linux_seccomp_args *);
+int linux_getrandom(struct thread *, struct linux_getrandom_args *);
+int linux_memfd_create(struct thread *, struct linux_memfd_create_args *);
+int linux_bpf(struct thread *, struct linux_bpf_args *);
+int linux_execveat(struct thread *, struct linux_execveat_args *);
+int linux_socket(struct thread *, struct linux_socket_args *);
+int linux_socketpair(struct thread *, struct linux_socketpair_args *);
+int linux_bind(struct thread *, struct linux_bind_args *);
+int linux_connect(struct thread *, struct linux_connect_args *);
+int linux_listen(struct thread *, struct linux_listen_args *);
+int linux_accept4(struct thread *, struct linux_accept4_args *);
+int linux_getsockopt(struct thread *, struct linux_getsockopt_args *);
+int linux_setsockopt(struct thread *, struct linux_setsockopt_args *);
+int linux_getsockname(struct thread *, struct linux_getsockname_args *);
+int linux_getpeername(struct thread *, struct linux_getpeername_args *);
+int linux_sendto(struct thread *, struct linux_sendto_args *);
+int linux_sendmsg(struct thread *, struct linux_sendmsg_args *);
+int linux_recvfrom(struct thread *, struct linux_recvfrom_args *);
+int linux_recvmsg(struct thread *, struct linux_recvmsg_args *);
+int linux_shutdown(struct thread *, struct linux_shutdown_args *);
+int linux_userfaultfd(struct thread *, struct linux_userfaultfd_args *);
+int linux_membarrier(struct thread *, struct linux_membarrier_args *);
+int linux_mlock2(struct thread *, struct linux_mlock2_args *);
+int linux_copy_file_range(struct thread *, struct linux_copy_file_range_args *);
+int linux_preadv2(struct thread *, struct linux_preadv2_args *);
+int linux_pwritev2(struct thread *, struct linux_pwritev2_args *);
+int linux_pkey_mprotect(struct thread *, struct linux_pkey_mprotect_args *);
+int linux_pkey_alloc(struct thread *, struct linux_pkey_alloc_args *);
+int linux_pkey_free(struct thread *, struct linux_pkey_free_args *);
#ifdef COMPAT_43
@@ -1758,7 +2003,7 @@ int linux_process_vm_writev(struct thread *, struct linux_process_vm_writev_args
#define LINUX_SYS_AUE_linux_inotify_init1 AUE_NULL
#define LINUX_SYS_AUE_linux_preadv AUE_NULL
#define LINUX_SYS_AUE_linux_pwritev AUE_NULL
-#define LINUX_SYS_AUE_linux_rt_tsigqueueinfo AUE_NULL
+#define LINUX_SYS_AUE_linux_rt_tgsigqueueinfo AUE_NULL
#define LINUX_SYS_AUE_linux_perf_event_open AUE_NULL
#define LINUX_SYS_AUE_linux_recvmmsg AUE_NULL
#define LINUX_SYS_AUE_linux_fanotify_init AUE_NULL
@@ -1772,6 +2017,40 @@ int linux_process_vm_writev(struct thread *, struct linux_process_vm_writev_args
#define LINUX_SYS_AUE_linux_setns AUE_NULL
#define LINUX_SYS_AUE_linux_process_vm_readv AUE_NULL
#define LINUX_SYS_AUE_linux_process_vm_writev AUE_NULL
+#define LINUX_SYS_AUE_linux_kcmp AUE_NULL
+#define LINUX_SYS_AUE_linux_finit_module AUE_NULL
+#define LINUX_SYS_AUE_linux_sched_setattr AUE_NULL
+#define LINUX_SYS_AUE_linux_sched_getattr AUE_NULL
+#define LINUX_SYS_AUE_linux_renameat2 AUE_NULL
+#define LINUX_SYS_AUE_linux_seccomp AUE_NULL
+#define LINUX_SYS_AUE_linux_getrandom AUE_NULL
+#define LINUX_SYS_AUE_linux_memfd_create AUE_NULL
+#define LINUX_SYS_AUE_linux_bpf AUE_NULL
+#define LINUX_SYS_AUE_linux_execveat AUE_NULL
+#define LINUX_SYS_AUE_linux_socket AUE_SOCKET
+#define LINUX_SYS_AUE_linux_socketpair AUE_SOCKETPAIR
+#define LINUX_SYS_AUE_linux_bind AUE_BIND
+#define LINUX_SYS_AUE_linux_connect AUE_CONNECT
+#define LINUX_SYS_AUE_linux_listen AUE_LISTEN
+#define LINUX_SYS_AUE_linux_accept4 AUE_ACCEPT
+#define LINUX_SYS_AUE_linux_getsockopt AUE_GETSOCKOPT
+#define LINUX_SYS_AUE_linux_setsockopt AUE_SETSOCKOPT
+#define LINUX_SYS_AUE_linux_getsockname AUE_GETSOCKNAME
+#define LINUX_SYS_AUE_linux_getpeername AUE_GETPEERNAME
+#define LINUX_SYS_AUE_linux_sendto AUE_SENDTO
+#define LINUX_SYS_AUE_linux_sendmsg AUE_SENDMSG
+#define LINUX_SYS_AUE_linux_recvfrom AUE_RECVFROM
+#define LINUX_SYS_AUE_linux_recvmsg AUE_RECVMSG
+#define LINUX_SYS_AUE_linux_shutdown AUE_NULL
+#define LINUX_SYS_AUE_linux_userfaultfd AUE_NULL
+#define LINUX_SYS_AUE_linux_membarrier AUE_NULL
+#define LINUX_SYS_AUE_linux_mlock2 AUE_NULL
+#define LINUX_SYS_AUE_linux_copy_file_range AUE_NULL
+#define LINUX_SYS_AUE_linux_preadv2 AUE_NULL
+#define LINUX_SYS_AUE_linux_pwritev2 AUE_NULL
+#define LINUX_SYS_AUE_linux_pkey_mprotect AUE_NULL
+#define LINUX_SYS_AUE_linux_pkey_alloc AUE_NULL
+#define LINUX_SYS_AUE_linux_pkey_free AUE_NULL
#undef PAD_
#undef PADL_
diff --git a/sys/i386/linux/linux_syscall.h b/sys/i386/linux/linux_syscall.h
index 3d2204f..10fd747 100644
--- a/sys/i386/linux/linux_syscall.h
+++ b/sys/i386/linux/linux_syscall.h
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/i386/linux/syscalls.master 302515 2016-07-10 08:15:50Z dchagin
+ * created from FreeBSD: head/sys/i386/linux/syscalls.master 313284 2017-02-05 14:17:09Z dchagin
*/
#define LINUX_SYS_linux_exit 1
@@ -314,7 +314,7 @@
#define LINUX_SYS_linux_inotify_init1 332
#define LINUX_SYS_linux_preadv 333
#define LINUX_SYS_linux_pwritev 334
-#define LINUX_SYS_linux_rt_tsigqueueinfo 335
+#define LINUX_SYS_linux_rt_tgsigqueueinfo 335
#define LINUX_SYS_linux_perf_event_open 336
#define LINUX_SYS_linux_recvmmsg 337
#define LINUX_SYS_linux_fanotify_init 338
@@ -328,4 +328,38 @@
#define LINUX_SYS_linux_setns 346
#define LINUX_SYS_linux_process_vm_readv 347
#define LINUX_SYS_linux_process_vm_writev 348
-#define LINUX_SYS_MAXSYSCALL 350
+#define LINUX_SYS_linux_kcmp 349
+#define LINUX_SYS_linux_finit_module 350
+#define LINUX_SYS_linux_sched_setattr 351
+#define LINUX_SYS_linux_sched_getattr 352
+#define LINUX_SYS_linux_renameat2 353
+#define LINUX_SYS_linux_seccomp 354
+#define LINUX_SYS_linux_getrandom 355
+#define LINUX_SYS_linux_memfd_create 356
+#define LINUX_SYS_linux_bpf 357
+#define LINUX_SYS_linux_execveat 358
+#define LINUX_SYS_linux_socket 359
+#define LINUX_SYS_linux_socketpair 360
+#define LINUX_SYS_linux_bind 361
+#define LINUX_SYS_linux_connect 362
+#define LINUX_SYS_linux_listen 363
+#define LINUX_SYS_linux_accept4 364
+#define LINUX_SYS_linux_getsockopt 365
+#define LINUX_SYS_linux_setsockopt 366
+#define LINUX_SYS_linux_getsockname 367
+#define LINUX_SYS_linux_getpeername 368
+#define LINUX_SYS_linux_sendto 369
+#define LINUX_SYS_linux_sendmsg 370
+#define LINUX_SYS_linux_recvfrom 371
+#define LINUX_SYS_linux_recvmsg 372
+#define LINUX_SYS_linux_shutdown 373
+#define LINUX_SYS_linux_userfaultfd 374
+#define LINUX_SYS_linux_membarrier 375
+#define LINUX_SYS_linux_mlock2 376
+#define LINUX_SYS_linux_copy_file_range 377
+#define LINUX_SYS_linux_preadv2 378
+#define LINUX_SYS_linux_pwritev2 379
+#define LINUX_SYS_linux_pkey_mprotect 380
+#define LINUX_SYS_linux_pkey_alloc 381
+#define LINUX_SYS_linux_pkey_free 382
+#define LINUX_SYS_MAXSYSCALL 384
diff --git a/sys/i386/linux/linux_syscalls.c b/sys/i386/linux/linux_syscalls.c
index fc695e4..a30858d 100644
--- a/sys/i386/linux/linux_syscalls.c
+++ b/sys/i386/linux/linux_syscalls.c
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/i386/linux/syscalls.master 302515 2016-07-10 08:15:50Z dchagin
+ * created from FreeBSD: head/sys/i386/linux/syscalls.master 313284 2017-02-05 14:17:09Z dchagin
*/
const char *linux_syscallnames[] = {
@@ -343,7 +343,7 @@ const char *linux_syscallnames[] = {
"linux_inotify_init1", /* 332 = linux_inotify_init1 */
"linux_preadv", /* 333 = linux_preadv */
"linux_pwritev", /* 334 = linux_pwritev */
- "linux_rt_tsigqueueinfo", /* 335 = linux_rt_tsigqueueinfo */
+ "linux_rt_tgsigqueueinfo", /* 335 = linux_rt_tgsigqueueinfo */
"linux_perf_event_open", /* 336 = linux_perf_event_open */
"linux_recvmmsg", /* 337 = linux_recvmmsg */
"linux_fanotify_init", /* 338 = linux_fanotify_init */
@@ -357,5 +357,39 @@ const char *linux_syscallnames[] = {
"linux_setns", /* 346 = linux_setns */
"linux_process_vm_readv", /* 347 = linux_process_vm_readv */
"linux_process_vm_writev", /* 348 = linux_process_vm_writev */
- "#349", /* 349 = nosys */
+ "linux_kcmp", /* 349 = linux_kcmp */
+ "linux_finit_module", /* 350 = linux_finit_module */
+ "linux_sched_setattr", /* 351 = linux_sched_setattr */
+ "linux_sched_getattr", /* 352 = linux_sched_getattr */
+ "linux_renameat2", /* 353 = linux_renameat2 */
+ "linux_seccomp", /* 354 = linux_seccomp */
+ "linux_getrandom", /* 355 = linux_getrandom */
+ "linux_memfd_create", /* 356 = linux_memfd_create */
+ "linux_bpf", /* 357 = linux_bpf */
+ "linux_execveat", /* 358 = linux_execveat */
+ "linux_socket", /* 359 = linux_socket */
+ "linux_socketpair", /* 360 = linux_socketpair */
+ "linux_bind", /* 361 = linux_bind */
+ "linux_connect", /* 362 = linux_connect */
+ "linux_listen", /* 363 = linux_listen */
+ "linux_accept4", /* 364 = linux_accept4 */
+ "linux_getsockopt", /* 365 = linux_getsockopt */
+ "linux_setsockopt", /* 366 = linux_setsockopt */
+ "linux_getsockname", /* 367 = linux_getsockname */
+ "linux_getpeername", /* 368 = linux_getpeername */
+ "linux_sendto", /* 369 = linux_sendto */
+ "linux_sendmsg", /* 370 = linux_sendmsg */
+ "linux_recvfrom", /* 371 = linux_recvfrom */
+ "linux_recvmsg", /* 372 = linux_recvmsg */
+ "linux_shutdown", /* 373 = linux_shutdown */
+ "linux_userfaultfd", /* 374 = linux_userfaultfd */
+ "linux_membarrier", /* 375 = linux_membarrier */
+ "linux_mlock2", /* 376 = linux_mlock2 */
+ "linux_copy_file_range", /* 377 = linux_copy_file_range */
+ "linux_preadv2", /* 378 = linux_preadv2 */
+ "linux_pwritev2", /* 379 = linux_pwritev2 */
+ "linux_pkey_mprotect", /* 380 = linux_pkey_mprotect */
+ "linux_pkey_alloc", /* 381 = linux_pkey_alloc */
+ "linux_pkey_free", /* 382 = linux_pkey_free */
+ "#383", /* 383 = nosys */
};
diff --git a/sys/i386/linux/linux_sysent.c b/sys/i386/linux/linux_sysent.c
index 10e3ac3..6b66a65 100644
--- a/sys/i386/linux/linux_sysent.c
+++ b/sys/i386/linux/linux_sysent.c
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/i386/linux/syscalls.master 302515 2016-07-10 08:15:50Z dchagin
+ * created from FreeBSD: head/sys/i386/linux/syscalls.master 313284 2017-02-05 14:17:09Z dchagin
*/
#include <sys/param.h>
@@ -351,9 +351,9 @@ struct sysent linux_sysent[] = {
{ AS(linux_dup3_args), (sy_call_t *)linux_dup3, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 330 = linux_dup3 */
{ AS(linux_pipe2_args), (sy_call_t *)linux_pipe2, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 331 = linux_pipe2 */
{ 0, (sy_call_t *)linux_inotify_init1, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 332 = linux_inotify_init1 */
- { 0, (sy_call_t *)linux_preadv, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 333 = linux_preadv */
- { 0, (sy_call_t *)linux_pwritev, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 334 = linux_pwritev */
- { 0, (sy_call_t *)linux_rt_tsigqueueinfo, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 335 = linux_rt_tsigqueueinfo */
+ { AS(linux_preadv_args), (sy_call_t *)linux_preadv, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 333 = linux_preadv */
+ { AS(linux_pwritev_args), (sy_call_t *)linux_pwritev, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 334 = linux_pwritev */
+ { AS(linux_rt_tgsigqueueinfo_args), (sy_call_t *)linux_rt_tgsigqueueinfo, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 335 = linux_rt_tgsigqueueinfo */
{ 0, (sy_call_t *)linux_perf_event_open, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 336 = linux_perf_event_open */
{ AS(linux_recvmmsg_args), (sy_call_t *)linux_recvmmsg, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 337 = linux_recvmmsg */
{ 0, (sy_call_t *)linux_fanotify_init, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 338 = linux_fanotify_init */
@@ -365,7 +365,41 @@ struct sysent linux_sysent[] = {
{ AS(linux_syncfs_args), (sy_call_t *)linux_syncfs, AUE_SYNC, NULL, 0, 0, 0, SY_THR_STATIC }, /* 344 = linux_syncfs */
{ AS(linux_sendmmsg_args), (sy_call_t *)linux_sendmmsg, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 345 = linux_sendmmsg */
{ 0, (sy_call_t *)linux_setns, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 346 = linux_setns */
- { 0, (sy_call_t *)linux_process_vm_readv, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 347 = linux_process_vm_readv */
- { 0, (sy_call_t *)linux_process_vm_writev, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 348 = linux_process_vm_writev */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 349 = nosys */
+ { AS(linux_process_vm_readv_args), (sy_call_t *)linux_process_vm_readv, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 347 = linux_process_vm_readv */
+ { AS(linux_process_vm_writev_args), (sy_call_t *)linux_process_vm_writev, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 348 = linux_process_vm_writev */
+ { AS(linux_kcmp_args), (sy_call_t *)linux_kcmp, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 349 = linux_kcmp */
+ { AS(linux_finit_module_args), (sy_call_t *)linux_finit_module, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 350 = linux_finit_module */
+ { AS(linux_sched_setattr_args), (sy_call_t *)linux_sched_setattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 351 = linux_sched_setattr */
+ { AS(linux_sched_getattr_args), (sy_call_t *)linux_sched_getattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 352 = linux_sched_getattr */
+ { AS(linux_renameat2_args), (sy_call_t *)linux_renameat2, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 353 = linux_renameat2 */
+ { AS(linux_seccomp_args), (sy_call_t *)linux_seccomp, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 354 = linux_seccomp */
+ { AS(linux_getrandom_args), (sy_call_t *)linux_getrandom, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 355 = linux_getrandom */
+ { AS(linux_memfd_create_args), (sy_call_t *)linux_memfd_create, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 356 = linux_memfd_create */
+ { AS(linux_bpf_args), (sy_call_t *)linux_bpf, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 357 = linux_bpf */
+ { AS(linux_execveat_args), (sy_call_t *)linux_execveat, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 358 = linux_execveat */
+ { AS(linux_socket_args), (sy_call_t *)linux_socket, AUE_SOCKET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 359 = linux_socket */
+ { AS(linux_socketpair_args), (sy_call_t *)linux_socketpair, AUE_SOCKETPAIR, NULL, 0, 0, 0, SY_THR_STATIC }, /* 360 = linux_socketpair */
+ { AS(linux_bind_args), (sy_call_t *)linux_bind, AUE_BIND, NULL, 0, 0, 0, SY_THR_STATIC }, /* 361 = linux_bind */
+ { AS(linux_connect_args), (sy_call_t *)linux_connect, AUE_CONNECT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 362 = linux_connect */
+ { AS(linux_listen_args), (sy_call_t *)linux_listen, AUE_LISTEN, NULL, 0, 0, 0, SY_THR_STATIC }, /* 363 = linux_listen */
+ { AS(linux_accept4_args), (sy_call_t *)linux_accept4, AUE_ACCEPT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 364 = linux_accept4 */
+ { AS(linux_getsockopt_args), (sy_call_t *)linux_getsockopt, AUE_GETSOCKOPT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 365 = linux_getsockopt */
+ { AS(linux_setsockopt_args), (sy_call_t *)linux_setsockopt, AUE_SETSOCKOPT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 366 = linux_setsockopt */
+ { AS(linux_getsockname_args), (sy_call_t *)linux_getsockname, AUE_GETSOCKNAME, NULL, 0, 0, 0, SY_THR_STATIC }, /* 367 = linux_getsockname */
+ { AS(linux_getpeername_args), (sy_call_t *)linux_getpeername, AUE_GETPEERNAME, NULL, 0, 0, 0, SY_THR_STATIC }, /* 368 = linux_getpeername */
+ { AS(linux_sendto_args), (sy_call_t *)linux_sendto, AUE_SENDTO, NULL, 0, 0, 0, SY_THR_STATIC }, /* 369 = linux_sendto */
+ { AS(linux_sendmsg_args), (sy_call_t *)linux_sendmsg, AUE_SENDMSG, NULL, 0, 0, 0, SY_THR_STATIC }, /* 370 = linux_sendmsg */
+ { AS(linux_recvfrom_args), (sy_call_t *)linux_recvfrom, AUE_RECVFROM, NULL, 0, 0, 0, SY_THR_STATIC }, /* 371 = linux_recvfrom */
+ { AS(linux_recvmsg_args), (sy_call_t *)linux_recvmsg, AUE_RECVMSG, NULL, 0, 0, 0, SY_THR_STATIC }, /* 372 = linux_recvmsg */
+ { AS(linux_shutdown_args), (sy_call_t *)linux_shutdown, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 373 = linux_shutdown */
+ { AS(linux_userfaultfd_args), (sy_call_t *)linux_userfaultfd, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 374 = linux_userfaultfd */
+ { AS(linux_membarrier_args), (sy_call_t *)linux_membarrier, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 375 = linux_membarrier */
+ { AS(linux_mlock2_args), (sy_call_t *)linux_mlock2, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 376 = linux_mlock2 */
+ { AS(linux_copy_file_range_args), (sy_call_t *)linux_copy_file_range, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 377 = linux_copy_file_range */
+ { AS(linux_preadv2_args), (sy_call_t *)linux_preadv2, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 378 = linux_preadv2 */
+ { AS(linux_pwritev2_args), (sy_call_t *)linux_pwritev2, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 379 = linux_pwritev2 */
+ { AS(linux_pkey_mprotect_args), (sy_call_t *)linux_pkey_mprotect, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 380 = linux_pkey_mprotect */
+ { AS(linux_pkey_alloc_args), (sy_call_t *)linux_pkey_alloc, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 381 = linux_pkey_alloc */
+ { AS(linux_pkey_free_args), (sy_call_t *)linux_pkey_free, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 382 = linux_pkey_free */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 383 = nosys */
};
diff --git a/sys/i386/linux/linux_systrace_args.c b/sys/i386/linux/linux_systrace_args.c
index 0a0bf42..c829676 100644
--- a/sys/i386/linux/linux_systrace_args.c
+++ b/sys/i386/linux/linux_systrace_args.c
@@ -2339,17 +2339,34 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
}
/* linux_preadv */
case 333: {
- *n_args = 0;
+ struct linux_preadv_args *p = params;
+ iarg[0] = p->fd; /* l_ulong */
+ uarg[1] = (intptr_t) p->vec; /* struct iovec * */
+ iarg[2] = p->vlen; /* l_ulong */
+ iarg[3] = p->pos_l; /* l_ulong */
+ iarg[4] = p->pos_h; /* l_ulong */
+ *n_args = 5;
break;
}
/* linux_pwritev */
case 334: {
- *n_args = 0;
+ struct linux_pwritev_args *p = params;
+ iarg[0] = p->fd; /* l_ulong */
+ uarg[1] = (intptr_t) p->vec; /* struct iovec * */
+ iarg[2] = p->vlen; /* l_ulong */
+ iarg[3] = p->pos_l; /* l_ulong */
+ iarg[4] = p->pos_h; /* l_ulong */
+ *n_args = 5;
break;
}
- /* linux_rt_tsigqueueinfo */
+ /* linux_rt_tgsigqueueinfo */
case 335: {
- *n_args = 0;
+ struct linux_rt_tgsigqueueinfo_args *p = params;
+ iarg[0] = p->tgid; /* l_pid_t */
+ iarg[1] = p->tid; /* l_pid_t */
+ iarg[2] = p->sig; /* l_int */
+ uarg[3] = (intptr_t) p->uinfo; /* l_siginfo_t * */
+ *n_args = 4;
break;
}
/* linux_perf_event_open */
@@ -2427,12 +2444,352 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
}
/* linux_process_vm_readv */
case 347: {
- *n_args = 0;
+ struct linux_process_vm_readv_args *p = params;
+ iarg[0] = p->pid; /* l_pid_t */
+ uarg[1] = (intptr_t) p->lvec; /* const struct iovec * */
+ iarg[2] = p->liovcnt; /* l_ulong */
+ uarg[3] = (intptr_t) p->rvec; /* const struct iovec * */
+ iarg[4] = p->riovcnt; /* l_ulong */
+ iarg[5] = p->flags; /* l_ulong */
+ *n_args = 6;
break;
}
/* linux_process_vm_writev */
case 348: {
- *n_args = 0;
+ struct linux_process_vm_writev_args *p = params;
+ iarg[0] = p->pid; /* l_pid_t */
+ uarg[1] = (intptr_t) p->lvec; /* const struct iovec * */
+ iarg[2] = p->liovcnt; /* l_ulong */
+ uarg[3] = (intptr_t) p->rvec; /* const struct iovec * */
+ iarg[4] = p->riovcnt; /* l_ulong */
+ iarg[5] = p->flags; /* l_ulong */
+ *n_args = 6;
+ break;
+ }
+ /* linux_kcmp */
+ case 349: {
+ struct linux_kcmp_args *p = params;
+ iarg[0] = p->pid1; /* l_pid_t */
+ iarg[1] = p->pid2; /* l_pid_t */
+ iarg[2] = p->type; /* l_int */
+ iarg[3] = p->idx1; /* l_ulong */
+ iarg[4] = p->idx; /* l_ulong */
+ *n_args = 5;
+ break;
+ }
+ /* linux_finit_module */
+ case 350: {
+ struct linux_finit_module_args *p = params;
+ iarg[0] = p->fd; /* l_int */
+ uarg[1] = (intptr_t) p->uargs; /* const char * */
+ iarg[2] = p->flags; /* l_int */
+ *n_args = 3;
+ break;
+ }
+ /* linux_sched_setattr */
+ case 351: {
+ struct linux_sched_setattr_args *p = params;
+ iarg[0] = p->pid; /* l_pid_t */
+ uarg[1] = (intptr_t) p->attr; /* void * */
+ iarg[2] = p->flags; /* l_uint */
+ *n_args = 3;
+ break;
+ }
+ /* linux_sched_getattr */
+ case 352: {
+ struct linux_sched_getattr_args *p = params;
+ iarg[0] = p->pid; /* l_pid_t */
+ uarg[1] = (intptr_t) p->attr; /* void * */
+ iarg[2] = p->size; /* l_uint */
+ iarg[3] = p->flags; /* l_uint */
+ *n_args = 4;
+ break;
+ }
+ /* linux_renameat2 */
+ case 353: {
+ struct linux_renameat2_args *p = params;
+ iarg[0] = p->oldfd; /* l_int */
+ uarg[1] = (intptr_t) p->oldname; /* const char * */
+ iarg[2] = p->newfd; /* l_int */
+ uarg[3] = (intptr_t) p->newname; /* const char * */
+ uarg[4] = p->flags; /* unsigned int */
+ *n_args = 5;
+ break;
+ }
+ /* linux_seccomp */
+ case 354: {
+ struct linux_seccomp_args *p = params;
+ iarg[0] = p->op; /* l_uint */
+ iarg[1] = p->flags; /* l_uint */
+ uarg[2] = (intptr_t) p->uargs; /* const char * */
+ *n_args = 3;
+ break;
+ }
+ /* linux_getrandom */
+ case 355: {
+ struct linux_getrandom_args *p = params;
+ uarg[0] = (intptr_t) p->buf; /* char * */
+ iarg[1] = p->count; /* l_size_t */
+ iarg[2] = p->flags; /* l_uint */
+ *n_args = 3;
+ break;
+ }
+ /* linux_memfd_create */
+ case 356: {
+ struct linux_memfd_create_args *p = params;
+ uarg[0] = (intptr_t) p->uname_ptr; /* const char * */
+ iarg[1] = p->flags; /* l_uint */
+ *n_args = 2;
+ break;
+ }
+ /* linux_bpf */
+ case 357: {
+ struct linux_bpf_args *p = params;
+ iarg[0] = p->cmd; /* l_int */
+ uarg[1] = (intptr_t) p->attr; /* void * */
+ iarg[2] = p->size; /* l_uint */
+ *n_args = 3;
+ break;
+ }
+ /* linux_execveat */
+ case 358: {
+ struct linux_execveat_args *p = params;
+ iarg[0] = p->dfd; /* l_int */
+ uarg[1] = (intptr_t) p->filename; /* const char * */
+ uarg[2] = (intptr_t) p->argv; /* const char ** */
+ uarg[3] = (intptr_t) p->envp; /* const char ** */
+ iarg[4] = p->flags; /* l_int */
+ *n_args = 5;
+ break;
+ }
+ /* linux_socket */
+ case 359: {
+ struct linux_socket_args *p = params;
+ iarg[0] = p->domain; /* l_int */
+ iarg[1] = p->type; /* l_int */
+ iarg[2] = p->protocol; /* l_int */
+ *n_args = 3;
+ break;
+ }
+ /* linux_socketpair */
+ case 360: {
+ struct linux_socketpair_args *p = params;
+ iarg[0] = p->domain; /* l_int */
+ iarg[1] = p->type; /* l_int */
+ iarg[2] = p->protocol; /* l_int */
+ iarg[3] = p->rsv; /* l_uintptr_t */
+ *n_args = 4;
+ break;
+ }
+ /* linux_bind */
+ case 361: {
+ struct linux_bind_args *p = params;
+ iarg[0] = p->s; /* l_int */
+ iarg[1] = p->name; /* l_uintptr_t */
+ iarg[2] = p->namelen; /* l_int */
+ *n_args = 3;
+ break;
+ }
+ /* linux_connect */
+ case 362: {
+ struct linux_connect_args *p = params;
+ iarg[0] = p->s; /* l_int */
+ iarg[1] = p->name; /* l_uintptr_t */
+ iarg[2] = p->namelen; /* l_int */
+ *n_args = 3;
+ break;
+ }
+ /* linux_listen */
+ case 363: {
+ struct linux_listen_args *p = params;
+ iarg[0] = p->s; /* l_int */
+ iarg[1] = p->backlog; /* l_int */
+ *n_args = 2;
+ break;
+ }
+ /* linux_accept4 */
+ case 364: {
+ struct linux_accept4_args *p = params;
+ iarg[0] = p->s; /* l_int */
+ iarg[1] = p->addr; /* l_uintptr_t */
+ iarg[2] = p->namelen; /* l_uintptr_t */
+ iarg[3] = p->flags; /* l_int */
+ *n_args = 4;
+ break;
+ }
+ /* linux_getsockopt */
+ case 365: {
+ struct linux_getsockopt_args *p = params;
+ iarg[0] = p->s; /* l_int */
+ iarg[1] = p->level; /* l_int */
+ iarg[2] = p->optname; /* l_int */
+ iarg[3] = p->optval; /* l_uintptr_t */
+ iarg[4] = p->optlen; /* l_uintptr_t */
+ *n_args = 5;
+ break;
+ }
+ /* linux_setsockopt */
+ case 366: {
+ struct linux_setsockopt_args *p = params;
+ iarg[0] = p->s; /* l_int */
+ iarg[1] = p->level; /* l_int */
+ iarg[2] = p->optname; /* l_int */
+ iarg[3] = p->optval; /* l_uintptr_t */
+ iarg[4] = p->optlen; /* l_int */
+ *n_args = 5;
+ break;
+ }
+ /* linux_getsockname */
+ case 367: {
+ struct linux_getsockname_args *p = params;
+ iarg[0] = p->s; /* l_int */
+ iarg[1] = p->addr; /* l_uintptr_t */
+ iarg[2] = p->namelen; /* l_uintptr_t */
+ *n_args = 3;
+ break;
+ }
+ /* linux_getpeername */
+ case 368: {
+ struct linux_getpeername_args *p = params;
+ iarg[0] = p->s; /* l_int */
+ iarg[1] = p->addr; /* l_uintptr_t */
+ iarg[2] = p->namelen; /* l_uintptr_t */
+ *n_args = 3;
+ break;
+ }
+ /* linux_sendto */
+ case 369: {
+ struct linux_sendto_args *p = params;
+ iarg[0] = p->s; /* l_int */
+ iarg[1] = p->msg; /* l_uintptr_t */
+ iarg[2] = p->len; /* l_int */
+ iarg[3] = p->flags; /* l_int */
+ iarg[4] = p->to; /* l_uintptr_t */
+ iarg[5] = p->tolen; /* l_int */
+ *n_args = 6;
+ break;
+ }
+ /* linux_sendmsg */
+ case 370: {
+ struct linux_sendmsg_args *p = params;
+ iarg[0] = p->s; /* l_int */
+ iarg[1] = p->msg; /* l_uintptr_t */
+ iarg[2] = p->flags; /* l_int */
+ *n_args = 3;
+ break;
+ }
+ /* linux_recvfrom */
+ case 371: {
+ struct linux_recvfrom_args *p = params;
+ iarg[0] = p->s; /* l_int */
+ iarg[1] = p->buf; /* l_uintptr_t */
+ iarg[2] = p->len; /* l_size_t */
+ iarg[3] = p->flags; /* l_int */
+ iarg[4] = p->from; /* l_uintptr_t */
+ iarg[5] = p->fromlen; /* l_uintptr_t */
+ *n_args = 6;
+ break;
+ }
+ /* linux_recvmsg */
+ case 372: {
+ struct linux_recvmsg_args *p = params;
+ iarg[0] = p->s; /* l_int */
+ iarg[1] = p->msg; /* l_uintptr_t */
+ iarg[2] = p->flags; /* l_int */
+ *n_args = 3;
+ break;
+ }
+ /* linux_shutdown */
+ case 373: {
+ struct linux_shutdown_args *p = params;
+ iarg[0] = p->s; /* l_int */
+ iarg[1] = p->how; /* l_int */
+ *n_args = 2;
+ break;
+ }
+ /* linux_userfaultfd */
+ case 374: {
+ struct linux_userfaultfd_args *p = params;
+ iarg[0] = p->flags; /* l_int */
+ *n_args = 1;
+ break;
+ }
+ /* linux_membarrier */
+ case 375: {
+ struct linux_membarrier_args *p = params;
+ iarg[0] = p->cmd; /* l_int */
+ iarg[1] = p->flags; /* l_int */
+ *n_args = 2;
+ break;
+ }
+ /* linux_mlock2 */
+ case 376: {
+ struct linux_mlock2_args *p = params;
+ iarg[0] = p->start; /* l_ulong */
+ iarg[1] = p->len; /* l_size_t */
+ iarg[2] = p->flags; /* l_int */
+ *n_args = 3;
+ break;
+ }
+ /* linux_copy_file_range */
+ case 377: {
+ struct linux_copy_file_range_args *p = params;
+ iarg[0] = p->fd_in; /* l_int */
+ uarg[1] = (intptr_t) p->off_in; /* l_loff_t * */
+ iarg[2] = p->fd_out; /* l_int */
+ uarg[3] = (intptr_t) p->off_out; /* l_loff_t * */
+ iarg[4] = p->len; /* l_size_t */
+ iarg[5] = p->flags; /* l_uint */
+ *n_args = 6;
+ break;
+ }
+ /* linux_preadv2 */
+ case 378: {
+ struct linux_preadv2_args *p = params;
+ iarg[0] = p->fd; /* l_ulong */
+ uarg[1] = (intptr_t) p->vec; /* const struct iovec * */
+ iarg[2] = p->vlen; /* l_ulong */
+ iarg[3] = p->pos_l; /* l_ulong */
+ iarg[4] = p->pos_h; /* l_ulong */
+ iarg[5] = p->flags; /* l_int */
+ *n_args = 6;
+ break;
+ }
+ /* linux_pwritev2 */
+ case 379: {
+ struct linux_pwritev2_args *p = params;
+ iarg[0] = p->fd; /* l_ulong */
+ uarg[1] = (intptr_t) p->vec; /* const struct iovec * */
+ iarg[2] = p->vlen; /* l_ulong */
+ iarg[3] = p->pos_l; /* l_ulong */
+ iarg[4] = p->pos_h; /* l_ulong */
+ iarg[5] = p->flags; /* l_int */
+ *n_args = 6;
+ break;
+ }
+ /* linux_pkey_mprotect */
+ case 380: {
+ struct linux_pkey_mprotect_args *p = params;
+ iarg[0] = p->start; /* l_ulong */
+ iarg[1] = p->len; /* l_size_t */
+ iarg[2] = p->prot; /* l_ulong */
+ iarg[3] = p->pkey; /* l_int */
+ *n_args = 4;
+ break;
+ }
+ /* linux_pkey_alloc */
+ case 381: {
+ struct linux_pkey_alloc_args *p = params;
+ iarg[0] = p->flags; /* l_ulong */
+ iarg[1] = p->init_val; /* l_ulong */
+ *n_args = 2;
+ break;
+ }
+ /* linux_pkey_free */
+ case 382: {
+ struct linux_pkey_free_args *p = params;
+ iarg[0] = p->pkey; /* l_int */
+ *n_args = 1;
break;
}
default:
@@ -5968,12 +6325,66 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_preadv */
case 333:
+ switch(ndx) {
+ case 0:
+ p = "l_ulong";
+ break;
+ case 1:
+ p = "userland struct iovec *";
+ break;
+ case 2:
+ p = "l_ulong";
+ break;
+ case 3:
+ p = "l_ulong";
+ break;
+ case 4:
+ p = "l_ulong";
+ break;
+ default:
+ break;
+ };
break;
/* linux_pwritev */
case 334:
+ switch(ndx) {
+ case 0:
+ p = "l_ulong";
+ break;
+ case 1:
+ p = "userland struct iovec *";
+ break;
+ case 2:
+ p = "l_ulong";
+ break;
+ case 3:
+ p = "l_ulong";
+ break;
+ case 4:
+ p = "l_ulong";
+ break;
+ default:
+ break;
+ };
break;
- /* linux_rt_tsigqueueinfo */
+ /* linux_rt_tgsigqueueinfo */
case 335:
+ switch(ndx) {
+ case 0:
+ p = "l_pid_t";
+ break;
+ case 1:
+ p = "l_pid_t";
+ break;
+ case 2:
+ p = "l_int";
+ break;
+ case 3:
+ p = "userland l_siginfo_t *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_perf_event_open */
case 336:
@@ -6068,9 +6479,657 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_process_vm_readv */
case 347:
+ switch(ndx) {
+ case 0:
+ p = "l_pid_t";
+ break;
+ case 1:
+ p = "userland const struct iovec *";
+ break;
+ case 2:
+ p = "l_ulong";
+ break;
+ case 3:
+ p = "userland const struct iovec *";
+ break;
+ case 4:
+ p = "l_ulong";
+ break;
+ case 5:
+ p = "l_ulong";
+ break;
+ default:
+ break;
+ };
break;
/* linux_process_vm_writev */
case 348:
+ switch(ndx) {
+ case 0:
+ p = "l_pid_t";
+ break;
+ case 1:
+ p = "userland const struct iovec *";
+ break;
+ case 2:
+ p = "l_ulong";
+ break;
+ case 3:
+ p = "userland const struct iovec *";
+ break;
+ case 4:
+ p = "l_ulong";
+ break;
+ case 5:
+ p = "l_ulong";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_kcmp */
+ case 349:
+ switch(ndx) {
+ case 0:
+ p = "l_pid_t";
+ break;
+ case 1:
+ p = "l_pid_t";
+ break;
+ case 2:
+ p = "l_int";
+ break;
+ case 3:
+ p = "l_ulong";
+ break;
+ case 4:
+ p = "l_ulong";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_finit_module */
+ case 350:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_sched_setattr */
+ case 351:
+ switch(ndx) {
+ case 0:
+ p = "l_pid_t";
+ break;
+ case 1:
+ p = "userland void *";
+ break;
+ case 2:
+ p = "l_uint";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_sched_getattr */
+ case 352:
+ switch(ndx) {
+ case 0:
+ p = "l_pid_t";
+ break;
+ case 1:
+ p = "userland void *";
+ break;
+ case 2:
+ p = "l_uint";
+ break;
+ case 3:
+ p = "l_uint";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_renameat2 */
+ case 353:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "l_int";
+ break;
+ case 3:
+ p = "userland const char *";
+ break;
+ case 4:
+ p = "unsigned int";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_seccomp */
+ case 354:
+ switch(ndx) {
+ case 0:
+ p = "l_uint";
+ break;
+ case 1:
+ p = "l_uint";
+ break;
+ case 2:
+ p = "userland const char *";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_getrandom */
+ case 355:
+ switch(ndx) {
+ case 0:
+ p = "userland char *";
+ break;
+ case 1:
+ p = "l_size_t";
+ break;
+ case 2:
+ p = "l_uint";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_memfd_create */
+ case 356:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "l_uint";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_bpf */
+ case 357:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "userland void *";
+ break;
+ case 2:
+ p = "l_uint";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_execveat */
+ case 358:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "userland const char **";
+ break;
+ case 3:
+ p = "userland const char **";
+ break;
+ case 4:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_socket */
+ case 359:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_int";
+ break;
+ case 2:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_socketpair */
+ case 360:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_int";
+ break;
+ case 2:
+ p = "l_int";
+ break;
+ case 3:
+ p = "l_uintptr_t";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_bind */
+ case 361:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_uintptr_t";
+ break;
+ case 2:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_connect */
+ case 362:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_uintptr_t";
+ break;
+ case 2:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_listen */
+ case 363:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_accept4 */
+ case 364:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_uintptr_t";
+ break;
+ case 2:
+ p = "l_uintptr_t";
+ break;
+ case 3:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_getsockopt */
+ case 365:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_int";
+ break;
+ case 2:
+ p = "l_int";
+ break;
+ case 3:
+ p = "l_uintptr_t";
+ break;
+ case 4:
+ p = "l_uintptr_t";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_setsockopt */
+ case 366:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_int";
+ break;
+ case 2:
+ p = "l_int";
+ break;
+ case 3:
+ p = "l_uintptr_t";
+ break;
+ case 4:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_getsockname */
+ case 367:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_uintptr_t";
+ break;
+ case 2:
+ p = "l_uintptr_t";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_getpeername */
+ case 368:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_uintptr_t";
+ break;
+ case 2:
+ p = "l_uintptr_t";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_sendto */
+ case 369:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_uintptr_t";
+ break;
+ case 2:
+ p = "l_int";
+ break;
+ case 3:
+ p = "l_int";
+ break;
+ case 4:
+ p = "l_uintptr_t";
+ break;
+ case 5:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_sendmsg */
+ case 370:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_uintptr_t";
+ break;
+ case 2:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_recvfrom */
+ case 371:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_uintptr_t";
+ break;
+ case 2:
+ p = "l_size_t";
+ break;
+ case 3:
+ p = "l_int";
+ break;
+ case 4:
+ p = "l_uintptr_t";
+ break;
+ case 5:
+ p = "l_uintptr_t";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_recvmsg */
+ case 372:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_uintptr_t";
+ break;
+ case 2:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_shutdown */
+ case 373:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_userfaultfd */
+ case 374:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_membarrier */
+ case 375:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_mlock2 */
+ case 376:
+ switch(ndx) {
+ case 0:
+ p = "l_ulong";
+ break;
+ case 1:
+ p = "l_size_t";
+ break;
+ case 2:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_copy_file_range */
+ case 377:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "userland l_loff_t *";
+ break;
+ case 2:
+ p = "l_int";
+ break;
+ case 3:
+ p = "userland l_loff_t *";
+ break;
+ case 4:
+ p = "l_size_t";
+ break;
+ case 5:
+ p = "l_uint";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_preadv2 */
+ case 378:
+ switch(ndx) {
+ case 0:
+ p = "l_ulong";
+ break;
+ case 1:
+ p = "userland const struct iovec *";
+ break;
+ case 2:
+ p = "l_ulong";
+ break;
+ case 3:
+ p = "l_ulong";
+ break;
+ case 4:
+ p = "l_ulong";
+ break;
+ case 5:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_pwritev2 */
+ case 379:
+ switch(ndx) {
+ case 0:
+ p = "l_ulong";
+ break;
+ case 1:
+ p = "userland const struct iovec *";
+ break;
+ case 2:
+ p = "l_ulong";
+ break;
+ case 3:
+ p = "l_ulong";
+ break;
+ case 4:
+ p = "l_ulong";
+ break;
+ case 5:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_pkey_mprotect */
+ case 380:
+ switch(ndx) {
+ case 0:
+ p = "l_ulong";
+ break;
+ case 1:
+ p = "l_size_t";
+ break;
+ case 2:
+ p = "l_ulong";
+ break;
+ case 3:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_pkey_alloc */
+ case 381:
+ switch(ndx) {
+ case 0:
+ p = "l_ulong";
+ break;
+ case 1:
+ p = "l_ulong";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* linux_pkey_free */
+ case 382:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
break;
default:
break;
@@ -7387,10 +8446,19 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 332:
/* linux_preadv */
case 333:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_pwritev */
case 334:
- /* linux_rt_tsigqueueinfo */
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_rt_tgsigqueueinfo */
case 335:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_perf_event_open */
case 336:
/* linux_recvmmsg */
@@ -7427,8 +8495,184 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 346:
/* linux_process_vm_readv */
case 347:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_process_vm_writev */
case 348:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_kcmp */
+ case 349:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_finit_module */
+ case 350:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_sched_setattr */
+ case 351:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_sched_getattr */
+ case 352:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_renameat2 */
+ case 353:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_seccomp */
+ case 354:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_getrandom */
+ case 355:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_memfd_create */
+ case 356:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_bpf */
+ case 357:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_execveat */
+ case 358:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_socket */
+ case 359:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_socketpair */
+ case 360:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_bind */
+ case 361:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_connect */
+ case 362:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_listen */
+ case 363:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_accept4 */
+ case 364:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_getsockopt */
+ case 365:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_setsockopt */
+ case 366:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_getsockname */
+ case 367:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_getpeername */
+ case 368:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_sendto */
+ case 369:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_sendmsg */
+ case 370:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_recvfrom */
+ case 371:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_recvmsg */
+ case 372:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_shutdown */
+ case 373:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_userfaultfd */
+ case 374:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_membarrier */
+ case 375:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_mlock2 */
+ case 376:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_copy_file_range */
+ case 377:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_preadv2 */
+ case 378:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_pwritev2 */
+ case 379:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_pkey_mprotect */
+ case 380:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_pkey_alloc */
+ case 381:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_pkey_free */
+ case 382:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
default:
break;
};
diff --git a/sys/i386/linux/syscalls.master b/sys/i386/linux/syscalls.master
index 5899adb..20aec5b 100644
--- a/sys/i386/linux/syscalls.master
+++ b/sys/i386/linux/syscalls.master
@@ -11,18 +11,20 @@
; there is no audit event for the call at this time. For the
; case where the event exists, but we don't want auditing, the
; event should be #defined to AUE_NULL in audit_kevents.h.
-; type one of STD, OBSOL, UNIMPL
+; type one of STD, NOPROTO, UNIMPL
; name psuedo-prototype of syscall routine
; If one of the following alts is different, then all appear:
; altname name of system call if different
; alttag name of args struct tag if different from [o]`name'"_args"
; altrtyp return type if not int (bogus - syscalls always return int)
-; for UNIMPL/OBSOL, name continues with comments
+; for UNIMPL, name continues with comments
; types:
; STD always included
-; OBSOL obsolete, not included in system, only specifies name
; UNIMPL not implemented, placeholder only
+; NOPROTO same as STD except do not create structure or
+; function prototype in sys/sysproto.h. Does add a
+; definition to syscall.h besides adding a sysent.
#include <sys/param.h>
#include <sys/sysent.h>
@@ -561,10 +563,15 @@
331 AUE_NULL STD { int linux_pipe2(l_int *pipefds, l_int flags); }
332 AUE_NULL STD { int linux_inotify_init1(void); }
; linux 2.6.30:
-333 AUE_NULL STD { int linux_preadv(void); }
-334 AUE_NULL STD { int linux_pwritev(void); }
+333 AUE_NULL STD { int linux_preadv(l_ulong fd, \
+ struct iovec *vec, l_ulong vlen, \
+ l_ulong pos_l, l_ulong pos_h); }
+334 AUE_NULL STD { int linux_pwritev(l_ulong fd, \
+ struct iovec *vec, l_ulong vlen, \
+ l_ulong pos_l, l_ulong pos_h); }
; linux 2.6.31:
-335 AUE_NULL STD { int linux_rt_tsigqueueinfo(void); }
+335 AUE_NULL STD { int linux_rt_tgsigqueueinfo(l_pid_t tgid, \
+ l_pid_t tid, l_int sig, l_siginfo_t *uinfo); }
336 AUE_NULL STD { int linux_perf_event_open(void); }
; linux 2.6.33:
337 AUE_NULL STD { int linux_recvmmsg(l_int s, \
@@ -577,16 +584,112 @@
l_uint resource, \
struct rlimit *new, \
struct rlimit *old); }
-; later:
+; linux 2.6.39:
341 AUE_NULL STD { int linux_name_to_handle_at(void); }
342 AUE_NULL STD { int linux_open_by_handle_at(void); }
343 AUE_NULL STD { int linux_clock_adjtime(void); }
344 AUE_SYNC STD { int linux_syncfs(l_int fd); }
+; linux 3.0:
345 AUE_NULL STD { int linux_sendmmsg(l_int s, \
struct l_mmsghdr *msg, l_uint vlen, \
l_uint flags); }
346 AUE_NULL STD { int linux_setns(void); }
-347 AUE_NULL STD { int linux_process_vm_readv(void); }
-348 AUE_NULL STD { int linux_process_vm_writev(void); }
+; linux 3.2 (glibc 2.15):
+347 AUE_NULL STD { int linux_process_vm_readv(l_pid_t pid, \
+ const struct iovec *lvec, l_ulong liovcnt, \
+ const struct iovec *rvec, l_ulong riovcnt, \
+ l_ulong flags); }
+348 AUE_NULL STD { int linux_process_vm_writev(l_pid_t pid, \
+ const struct iovec *lvec, l_ulong liovcnt, \
+ const struct iovec *rvec, l_ulong riovcnt, \
+ l_ulong flags); }
+; linux 3.5 (no glibc wrapper):
+349 AUE_NULL STD { int linux_kcmp(l_pid_t pid1, l_pid_t pid2, \
+ l_int type, l_ulong idx1, l_ulong idx); }
+; linux 3.8 (no glibc wrapper):
+350 AUE_NULL STD { int linux_finit_module(l_int fd, \
+ const char *uargs, l_int flags); }
+; linux 3.14:
+351 AUE_NULL STD { int linux_sched_setattr(l_pid_t pid, \
+ void *attr, l_uint flags); }
+352 AUE_NULL STD { int linux_sched_getattr(l_pid_t pid, \
+ void *attr, l_uint size, l_uint flags); }
+; linux 3.15:
+353 AUE_NULL STD { int linux_renameat2(l_int oldfd, \
+ const char *oldname, l_int newfd, \
+ const char *newname, unsigned int flags); }
+; linux 3.17:
+354 AUE_NULL STD { int linux_seccomp(l_uint op, l_uint flags, \
+ const char *uargs); }
+355 AUE_NULL STD { int linux_getrandom(char *buf, \
+ l_size_t count, l_uint flags); }
+356 AUE_NULL STD { int linux_memfd_create(const char *uname_ptr, \
+ l_uint flags); }
+; linux 3.18:
+357 AUE_NULL STD { int linux_bpf(l_int cmd, void *attr, \
+ l_uint size); }
+; linux 3.19:
+358 AUE_NULL STD { int linux_execveat(l_int dfd, \
+ const char *filename, const char **argv, \
+ const char **envp, l_int flags); }
+; linux 4.3: sockets now direct system calls:
+359 AUE_SOCKET STD { int linux_socket(l_int domain, l_int type, \
+ l_int protocol); }
+360 AUE_SOCKETPAIR STD { int linux_socketpair(l_int domain, \
+ l_int type, l_int protocol, l_uintptr_t rsv); }
+361 AUE_BIND STD { int linux_bind(l_int s, l_uintptr_t name, \
+ l_int namelen); }
+362 AUE_CONNECT STD { int linux_connect(l_int s, l_uintptr_t name, \
+ l_int namelen); }
+363 AUE_LISTEN STD { int linux_listen(l_int s, l_int backlog); }
+364 AUE_ACCEPT STD { int linux_accept4(l_int s, l_uintptr_t addr, \
+ l_uintptr_t namelen, l_int flags); }
+365 AUE_GETSOCKOPT STD { int linux_getsockopt(l_int s, l_int level, \
+ l_int optname, l_uintptr_t optval, \
+ l_uintptr_t optlen); }
+366 AUE_SETSOCKOPT STD { int linux_setsockopt(l_int s, l_int level, \
+ l_int optname, l_uintptr_t optval, \
+ l_int optlen); }
+367 AUE_GETSOCKNAME STD { int linux_getsockname(l_int s, \
+ l_uintptr_t addr, l_uintptr_t namelen); }
+368 AUE_GETPEERNAME STD { int linux_getpeername(l_int s, \
+ l_uintptr_t addr, l_uintptr_t namelen); }
+369 AUE_SENDTO STD { int linux_sendto(l_int s, l_uintptr_t msg, \
+ l_int len, l_int flags, l_uintptr_t to, \
+ l_int tolen); }
+370 AUE_SENDMSG STD { int linux_sendmsg(l_int s, l_uintptr_t msg, \
+ l_int flags); }
+371 AUE_RECVFROM STD { int linux_recvfrom(l_int s, l_uintptr_t buf, \
+ l_size_t len, l_int flags, l_uintptr_t from, \
+ l_uintptr_t fromlen); }
+372 AUE_RECVMSG STD { int linux_recvmsg(l_int s, l_uintptr_t msg, \
+ l_int flags); }
+373 AUE_NULL STD { int linux_shutdown(l_int s, l_int how); }
+; linux 4.2:
+374 AUE_NULL STD { int linux_userfaultfd(l_int flags); }
+; linux 4.3:
+375 AUE_NULL STD { int linux_membarrier(l_int cmd, l_int flags); }
+; linux 4.4:
+376 AUE_NULL STD { int linux_mlock2(l_ulong start, l_size_t len, \
+ l_int flags); }
+; linux 4.5:
+377 AUE_NULL STD { int linux_copy_file_range(l_int fd_in, \
+ l_loff_t *off_in, l_int fd_out, \
+ l_loff_t *off_out, l_size_t len, \
+ l_uint flags); }
+; linux 4.6:
+378 AUE_NULL STD { int linux_preadv2(l_ulong fd, \
+ const struct iovec *vec, l_ulong vlen, \
+ l_ulong pos_l, l_ulong pos_h, l_int flags); }
+379 AUE_NULL STD { int linux_pwritev2(l_ulong fd, \
+ const struct iovec *vec, l_ulong vlen, \
+ l_ulong pos_l, l_ulong pos_h, l_int flags); }
+; linux 4.8:
+380 AUE_NULL STD { int linux_pkey_mprotect(l_ulong start, \
+ l_size_t len, l_ulong prot, l_int pkey); }
+381 AUE_NULL STD { int linux_pkey_alloc(l_ulong flags, \
+ l_ulong init_val); }
+382 AUE_NULL STD { int linux_pkey_free(l_int pkey); }
+
; please, keep this line at the end.
-349 AUE_NULL UNIMPL nosys
+383 AUE_NULL UNIMPL nosys
OpenPOWER on IntegriCloud