summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Tomasz Napierala <trasz@FreeBSD.org>2020-06-27 14:43:29 +0000
committerEdward Tomasz Napierala <trasz@FreeBSD.org>2020-06-27 14:43:29 +0000
commita39cdcd7e7f94e0c508136f02188868a7dca934f (patch)
tree43b2a6f2cd8a86898767b8db937bb2ad3de8e9da
parent308e194cbf6dddd38c87e8fef265910965dff37d (diff)
Notes
-rw-r--r--sys/amd64/linux/linux_proto.h156
-rw-r--r--sys/amd64/linux/linux_sysent.c36
-rw-r--r--sys/amd64/linux/linux_systrace_args.c596
-rw-r--r--sys/amd64/linux32/linux32_proto.h80
-rw-r--r--sys/amd64/linux32/linux32_sysent.c36
-rw-r--r--sys/amd64/linux32/linux32_systrace_args.c428
-rw-r--r--sys/arm64/linux/linux_proto.h136
-rw-r--r--sys/arm64/linux/linux_sysent.c36
-rw-r--r--sys/arm64/linux/linux_systrace_args.c556
-rw-r--r--sys/i386/linux/linux_proto.h66
-rw-r--r--sys/i386/linux/linux_sysent.c24
-rw-r--r--sys/i386/linux/linux_systrace_args.c312
12 files changed, 2032 insertions, 430 deletions
diff --git a/sys/amd64/linux/linux_proto.h b/sys/amd64/linux/linux_proto.h
index c312a5b5d5c0..24829c6e7a9b 100644
--- a/sys/amd64/linux/linux_proto.h
+++ b/sys/amd64/linux/linux_proto.h
@@ -38,7 +38,7 @@ struct thread;
struct linux_open_args {
char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
- char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)];
+ char mode_l_[PADL_(l_mode_t)]; l_mode_t mode; char mode_r_[PADR_(l_mode_t)];
};
struct linux_newstat_args {
char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
@@ -66,9 +66,9 @@ struct linux_mmap2_args {
char pgoff_l_[PADL_(l_ulong)]; l_ulong pgoff; char pgoff_r_[PADR_(l_ulong)];
};
struct linux_mprotect_args {
- char addr_l_[PADL_(caddr_t)]; caddr_t addr; char addr_r_[PADR_(caddr_t)];
- char len_l_[PADL_(l_int)]; l_int len; char len_r_[PADR_(l_int)];
- char prot_l_[PADL_(l_int)]; l_int prot; char prot_r_[PADR_(l_int)];
+ char addr_l_[PADL_(l_ulong)]; l_ulong addr; char addr_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)];
};
struct linux_brk_args {
char dsend_l_[PADL_(l_ulong)]; l_ulong dsend; char dsend_r_[PADR_(l_ulong)];
@@ -91,7 +91,7 @@ struct linux_rt_sigreturn_args {
struct linux_ioctl_args {
char fd_l_[PADL_(l_uint)]; l_uint fd; char fd_r_[PADR_(l_uint)];
char cmd_l_[PADL_(l_uint)]; l_uint cmd; char cmd_r_[PADR_(l_uint)];
- char arg_l_[PADL_(uintptr_t)]; uintptr_t arg; char arg_r_[PADR_(uintptr_t)];
+ char arg_l_[PADL_(l_ulong)]; l_ulong arg; char arg_r_[PADR_(l_ulong)];
};
struct linux_pread_args {
char fd_l_[PADL_(l_uint)]; l_uint fd; char fd_r_[PADR_(l_uint)];
@@ -110,7 +110,7 @@ struct linux_access_args {
char amode_l_[PADL_(l_int)]; l_int amode; char amode_r_[PADR_(l_int)];
};
struct linux_pipe_args {
- char pipefds_l_[PADL_(l_ulong *)]; l_ulong * pipefds; char pipefds_r_[PADR_(l_ulong *)];
+ char pipefds_l_[PADL_(l_int *)]; l_int * pipefds; char pipefds_r_[PADR_(l_int *)];
};
struct linux_select_args {
char nfds_l_[PADL_(l_int)]; l_int nfds; char nfds_r_[PADR_(l_int)];
@@ -137,9 +137,9 @@ struct linux_mincore_args {
char vec_l_[PADL_(u_char *)]; u_char * vec; char vec_r_[PADR_(u_char *)];
};
struct linux_madvise_args {
- char addr_l_[PADL_(void *)]; void * addr; char addr_r_[PADR_(void *)];
- char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)];
- char behav_l_[PADL_(int)]; int behav; char behav_r_[PADR_(int)];
+ char addr_l_[PADL_(l_ulong)]; l_ulong addr; char addr_r_[PADR_(l_ulong)];
+ char len_l_[PADL_(l_size_t)]; l_size_t len; char len_r_[PADR_(l_size_t)];
+ char behav_l_[PADL_(l_int)]; l_int behav; char behav_r_[PADR_(l_int)];
};
struct linux_shmget_args {
char key_l_[PADL_(l_key_t)]; l_key_t key; char key_r_[PADR_(l_key_t)];
@@ -181,7 +181,7 @@ struct linux_getpid_args {
struct linux_sendfile_args {
char out_l_[PADL_(l_int)]; l_int out; char out_r_[PADR_(l_int)];
char in_l_[PADL_(l_int)]; l_int in; char in_r_[PADR_(l_int)];
- char offset_l_[PADL_(l_long *)]; l_long * offset; char offset_r_[PADR_(l_long *)];
+ char offset_l_[PADL_(l_off_t *)]; l_off_t * offset; char offset_r_[PADR_(l_off_t *)];
char count_l_[PADL_(l_size_t)]; l_size_t count; char count_r_[PADR_(l_size_t)];
};
struct linux_socket_args {
@@ -202,8 +202,8 @@ struct linux_accept_args {
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 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)];
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)];
};
@@ -211,19 +211,19 @@ 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 flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)];
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_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)];
+ char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)];
};
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)];
+ char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)];
};
struct linux_shutdown_args {
char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)];
@@ -269,7 +269,7 @@ struct linux_getsockopt_args {
char optlen_l_[PADL_(l_uintptr_t)]; l_uintptr_t optlen; char optlen_r_[PADR_(l_uintptr_t)];
};
struct linux_clone_args {
- char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
+ char flags_l_[PADL_(l_ulong)]; l_ulong flags; char flags_r_[PADR_(l_ulong)];
char stack_l_[PADL_(void *)]; void * stack; char stack_r_[PADR_(void *)];
char parent_tidptr_l_[PADL_(void *)]; void * parent_tidptr; char parent_tidptr_r_[PADR_(void *)];
char child_tidptr_l_[PADL_(void *)]; void * child_tidptr; char child_tidptr_r_[PADR_(void *)];
@@ -296,7 +296,7 @@ struct linux_wait4_args {
char rusage_l_[PADL_(struct rusage *)]; struct rusage * rusage; char rusage_r_[PADR_(struct rusage *)];
};
struct linux_kill_args {
- char pid_l_[PADL_(l_int)]; l_int pid; char pid_r_[PADR_(l_int)];
+ char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)];
char signum_l_[PADL_(l_int)]; l_int signum; char signum_r_[PADR_(l_int)];
};
struct linux_newuname_args {
@@ -353,11 +353,11 @@ struct linux_fdatasync_args {
};
struct linux_truncate_args {
char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
- char length_l_[PADL_(l_ulong)]; l_ulong length; char length_r_[PADR_(l_ulong)];
+ char length_l_[PADL_(l_long)]; l_long length; char length_r_[PADR_(l_long)];
};
struct linux_ftruncate_args {
char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
- char length_l_[PADL_(l_long)]; l_long length; char length_r_[PADR_(l_long)];
+ char length_l_[PADL_(l_ulong)]; l_ulong length; char length_r_[PADR_(l_ulong)];
};
struct linux_getdents_args {
char fd_l_[PADL_(l_uint)]; l_uint fd; char fd_r_[PADR_(l_uint)];
@@ -377,14 +377,14 @@ struct linux_rename_args {
};
struct linux_mkdir_args {
char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
- char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)];
+ char mode_l_[PADL_(l_mode_t)]; l_mode_t mode; char mode_r_[PADR_(l_mode_t)];
};
struct linux_rmdir_args {
char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
};
struct linux_creat_args {
char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
- char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)];
+ char mode_l_[PADL_(l_mode_t)]; l_mode_t mode; char mode_r_[PADR_(l_mode_t)];
};
struct linux_link_args {
char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
@@ -500,14 +500,14 @@ struct linux_utime_args {
};
struct linux_mknod_args {
char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
- char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)];
- char dev_l_[PADL_(l_dev_t)]; l_dev_t dev; char dev_r_[PADR_(l_dev_t)];
+ char mode_l_[PADL_(l_mode_t)]; l_mode_t mode; char mode_r_[PADR_(l_mode_t)];
+ char dev_l_[PADL_(l_uint)]; l_uint dev; char dev_r_[PADR_(l_uint)];
};
struct linux_personality_args {
char per_l_[PADL_(l_uint)]; l_uint per; char per_r_[PADR_(l_uint)];
};
struct linux_ustat_args {
- char dev_l_[PADL_(l_dev_t)]; l_dev_t dev; char dev_r_[PADR_(l_dev_t)];
+ char dev_l_[PADL_(l_uint)]; l_uint dev; char dev_r_[PADR_(l_uint)];
char ubuf_l_[PADL_(struct l_ustat *)]; struct l_ustat * ubuf; char ubuf_r_[PADR_(struct l_ustat *)];
};
struct linux_statfs_args {
@@ -605,7 +605,7 @@ struct linux_reboot_args {
};
struct linux_sethostname_args {
char hostname_l_[PADL_(char *)]; char * hostname; char hostname_r_[PADR_(char *)];
- char len_l_[PADL_(l_uint)]; l_uint len; char len_r_[PADR_(l_uint)];
+ char len_l_[PADL_(l_int)]; l_int len; char len_r_[PADR_(l_int)];
};
struct linux_setdomainname_args {
char name_l_[PADL_(char *)]; char * name; char name_r_[PADR_(char *)];
@@ -633,43 +633,73 @@ struct linux_readahead_args {
register_t dummy;
};
struct linux_setxattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char value_l_[PADL_(const char *)]; const char * value; char value_r_[PADR_(const char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
};
struct linux_lsetxattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char value_l_[PADL_(const char *)]; const char * value; char value_r_[PADR_(const char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
};
struct linux_fsetxattr_args {
- register_t dummy;
+ char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char value_l_[PADL_(const char *)]; const char * value; char value_r_[PADR_(const char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
};
struct linux_getxattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char value_l_[PADL_(char *)]; char * value; char value_r_[PADR_(char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
};
struct linux_lgetxattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char value_l_[PADL_(char *)]; char * value; char value_r_[PADR_(char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
};
struct linux_fgetxattr_args {
- register_t dummy;
+ char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char value_l_[PADL_(char *)]; char * value; char value_r_[PADR_(char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
};
struct linux_listxattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char list_l_[PADL_(const char *)]; const char * list; char list_r_[PADR_(const char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
};
struct linux_llistxattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char list_l_[PADL_(const char *)]; const char * list; char list_r_[PADR_(const char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
};
struct linux_flistxattr_args {
- register_t dummy;
+ char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
+ char list_l_[PADL_(const char *)]; const char * list; char list_r_[PADR_(const char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
};
struct linux_removexattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
};
struct linux_lremovexattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
};
struct linux_fremovexattr_args {
- register_t dummy;
+ char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
};
struct linux_tkill_args {
- char tid_l_[PADL_(l_int)]; l_int tid; char tid_r_[PADR_(l_int)];
+ 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)];
};
struct linux_time_args {
@@ -772,7 +802,7 @@ struct linux_clock_getres_args {
};
struct linux_clock_nanosleep_args {
char which_l_[PADL_(clockid_t)]; clockid_t which; char which_r_[PADR_(clockid_t)];
- char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
char rqtp_l_[PADL_(struct l_timespec *)]; struct l_timespec * rqtp; char rqtp_r_[PADR_(struct l_timespec *)];
char rmtp_l_[PADL_(struct l_timespec *)]; struct l_timespec * rmtp; char rmtp_r_[PADR_(struct l_timespec *)];
};
@@ -792,8 +822,8 @@ struct linux_epoll_ctl_args {
char event_l_[PADL_(struct epoll_event *)]; struct epoll_event * event; char event_r_[PADR_(struct epoll_event *)];
};
struct linux_tgkill_args {
- char tgid_l_[PADL_(l_int)]; l_int tgid; char tgid_r_[PADR_(l_int)];
- char pid_l_[PADL_(l_int)]; l_int pid; char pid_r_[PADR_(l_int)];
+ char tgid_l_[PADL_(l_pid_t)]; l_pid_t tgid; char tgid_r_[PADR_(l_pid_t)];
+ char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)];
char sig_l_[PADL_(l_int)]; l_int sig; char sig_r_[PADR_(l_int)];
};
struct linux_utimes_args {
@@ -810,22 +840,36 @@ struct linux_get_mempolicy_args {
register_t dummy;
};
struct linux_mq_open_args {
- register_t dummy;
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char oflag_l_[PADL_(l_int)]; l_int oflag; char oflag_r_[PADR_(l_int)];
+ char mode_l_[PADL_(l_mode_t)]; l_mode_t mode; char mode_r_[PADR_(l_mode_t)];
+ char attr_l_[PADL_(struct mq_attr *)]; struct mq_attr * attr; char attr_r_[PADR_(struct mq_attr *)];
};
struct linux_mq_unlink_args {
- register_t dummy;
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
};
struct linux_mq_timedsend_args {
- register_t dummy;
+ char mqd_l_[PADL_(l_mqd_t)]; l_mqd_t mqd; char mqd_r_[PADR_(l_mqd_t)];
+ char msg_ptr_l_[PADL_(const char *)]; const char * msg_ptr; char msg_ptr_r_[PADR_(const char *)];
+ char msg_len_l_[PADL_(l_size_t)]; l_size_t msg_len; char msg_len_r_[PADR_(l_size_t)];
+ char msg_prio_l_[PADL_(l_uint)]; l_uint msg_prio; char msg_prio_r_[PADR_(l_uint)];
+ char abs_timeout_l_[PADL_(const struct l_timespec *)]; const struct l_timespec * abs_timeout; char abs_timeout_r_[PADR_(const struct l_timespec *)];
};
struct linux_mq_timedreceive_args {
- register_t dummy;
+ char mqd_l_[PADL_(l_mqd_t)]; l_mqd_t mqd; char mqd_r_[PADR_(l_mqd_t)];
+ char msg_ptr_l_[PADL_(char *)]; char * msg_ptr; char msg_ptr_r_[PADR_(char *)];
+ char msg_len_l_[PADL_(l_size_t)]; l_size_t msg_len; char msg_len_r_[PADR_(l_size_t)];
+ char msg_prio_l_[PADL_(l_uint *)]; l_uint * msg_prio; char msg_prio_r_[PADR_(l_uint *)];
+ char abs_timeout_l_[PADL_(const struct l_timespec *)]; const struct l_timespec * abs_timeout; char abs_timeout_r_[PADR_(const struct l_timespec *)];
};
struct linux_mq_notify_args {
- register_t dummy;
+ char mqd_l_[PADL_(l_mqd_t)]; l_mqd_t mqd; char mqd_r_[PADR_(l_mqd_t)];
+ char abs_timeout_l_[PADL_(const struct l_timespec *)]; const struct l_timespec * abs_timeout; char abs_timeout_r_[PADR_(const struct l_timespec *)];
};
struct linux_mq_getsetattr_args {
- register_t dummy;
+ char mqd_l_[PADL_(l_mqd_t)]; l_mqd_t mqd; char mqd_r_[PADR_(l_mqd_t)];
+ char attr_l_[PADL_(const struct mq_attr *)]; const struct mq_attr * attr; char attr_r_[PADR_(const struct mq_attr *)];
+ char oattr_l_[PADL_(struct mq_attr *)]; struct mq_attr * oattr; char oattr_r_[PADR_(struct mq_attr *)];
};
struct linux_kexec_load_args {
register_t dummy;
@@ -868,17 +912,17 @@ struct linux_openat_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 flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
- char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)];
+ char mode_l_[PADL_(l_mode_t)]; l_mode_t mode; char mode_r_[PADR_(l_mode_t)];
};
struct linux_mkdirat_args {
char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)];
char pathname_l_[PADL_(const char *)]; const char * pathname; char pathname_r_[PADR_(const char *)];
- char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)];
+ char mode_l_[PADL_(l_mode_t)]; l_mode_t mode; char mode_r_[PADR_(l_mode_t)];
};
struct linux_mknodat_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 mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)];
+ char mode_l_[PADL_(l_mode_t)]; l_mode_t mode; char mode_r_[PADR_(l_mode_t)];
char dev_l_[PADL_(l_uint)]; l_uint dev; char dev_r_[PADR_(l_uint)];
};
struct linux_fchownat_args {
@@ -948,7 +992,7 @@ struct linux_pselect6_args {
};
struct linux_ppoll_args {
char fds_l_[PADL_(struct pollfd *)]; struct pollfd * fds; char fds_r_[PADR_(struct pollfd *)];
- char nfds_l_[PADL_(uint32_t)]; uint32_t nfds; char nfds_r_[PADR_(uint32_t)];
+ char nfds_l_[PADL_(l_uint)]; l_uint nfds; char nfds_r_[PADR_(l_uint)];
char tsp_l_[PADL_(struct l_timespec *)]; struct l_timespec * tsp; char tsp_r_[PADR_(struct l_timespec *)];
char sset_l_[PADL_(l_sigset_t *)]; l_sigset_t * sset; char sset_r_[PADR_(l_sigset_t *)];
char ssize_l_[PADL_(l_size_t)]; l_size_t ssize; char ssize_r_[PADR_(l_size_t)];
@@ -975,7 +1019,7 @@ struct linux_sync_file_range_args {
char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
char offset_l_[PADL_(l_loff_t)]; l_loff_t offset; char offset_r_[PADR_(l_loff_t)];
char nbytes_l_[PADL_(l_loff_t)]; l_loff_t nbytes; char nbytes_r_[PADR_(l_loff_t)];
- char flags_l_[PADL_(unsigned int)]; unsigned int flags; char flags_r_[PADR_(unsigned int)];
+ char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)];
};
struct linux_vmsplice_args {
register_t dummy;
@@ -1027,7 +1071,7 @@ 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_(int)]; int flags; char flags_r_[PADR_(int)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
};
struct linux_signalfd4_args {
register_t dummy;
@@ -1040,8 +1084,8 @@ struct linux_epoll_create1_args {
char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
};
struct linux_dup3_args {
- char oldfd_l_[PADL_(l_int)]; l_int oldfd; char oldfd_r_[PADR_(l_int)];
- char newfd_l_[PADL_(l_int)]; l_int newfd; char newfd_r_[PADR_(l_int)];
+ char oldfd_l_[PADL_(l_uint)]; l_uint oldfd; char oldfd_r_[PADR_(l_uint)];
+ char newfd_l_[PADL_(l_uint)]; l_uint newfd; char newfd_r_[PADR_(l_uint)];
char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
};
struct linux_pipe2_args {
@@ -1164,7 +1208,7 @@ struct linux_renameat2_args {
char oldname_l_[PADL_(const char *)]; const char * oldname; char oldname_r_[PADR_(const char *)];
char newdfd_l_[PADL_(l_int)]; l_int newdfd; char newdfd_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)];
+ char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)];
};
struct linux_seccomp_args {
char op_l_[PADL_(l_uint)]; l_uint op; char op_r_[PADR_(l_uint)];
diff --git a/sys/amd64/linux/linux_sysent.c b/sys/amd64/linux/linux_sysent.c
index 24620b9e59cc..70e778f89176 100644
--- a/sys/amd64/linux/linux_sysent.c
+++ b/sys/amd64/linux/linux_sysent.c
@@ -205,18 +205,18 @@ struct sysent linux_sysent[] = {
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 185 = security */
{ 0, (sy_call_t *)linux_gettid, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 186 = linux_gettid */
{ 0, (sy_call_t *)linux_readahead, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 187 = linux_readahead */
- { 0, (sy_call_t *)linux_setxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 188 = linux_setxattr */
- { 0, (sy_call_t *)linux_lsetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 189 = linux_lsetxattr */
- { 0, (sy_call_t *)linux_fsetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 190 = linux_fsetxattr */
- { 0, (sy_call_t *)linux_getxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 191 = linux_getxattr */
- { 0, (sy_call_t *)linux_lgetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 192 = linux_lgetxattr */
- { 0, (sy_call_t *)linux_fgetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 193 = linux_fgetxattr */
- { 0, (sy_call_t *)linux_listxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 194 = linux_listxattr */
- { 0, (sy_call_t *)linux_llistxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 195 = linux_llistxattr */
- { 0, (sy_call_t *)linux_flistxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 196 = linux_flistxattr */
- { 0, (sy_call_t *)linux_removexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 197 = linux_removexattr */
- { 0, (sy_call_t *)linux_lremovexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 198 = linux_lremovexattr */
- { 0, (sy_call_t *)linux_fremovexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 199 = linux_fremovexattr */
+ { AS(linux_setxattr_args), (sy_call_t *)linux_setxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 188 = linux_setxattr */
+ { AS(linux_lsetxattr_args), (sy_call_t *)linux_lsetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 189 = linux_lsetxattr */
+ { AS(linux_fsetxattr_args), (sy_call_t *)linux_fsetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 190 = linux_fsetxattr */
+ { AS(linux_getxattr_args), (sy_call_t *)linux_getxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 191 = linux_getxattr */
+ { AS(linux_lgetxattr_args), (sy_call_t *)linux_lgetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 192 = linux_lgetxattr */
+ { AS(linux_fgetxattr_args), (sy_call_t *)linux_fgetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 193 = linux_fgetxattr */
+ { AS(linux_listxattr_args), (sy_call_t *)linux_listxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 194 = linux_listxattr */
+ { AS(linux_llistxattr_args), (sy_call_t *)linux_llistxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 195 = linux_llistxattr */
+ { AS(linux_flistxattr_args), (sy_call_t *)linux_flistxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 196 = linux_flistxattr */
+ { AS(linux_removexattr_args), (sy_call_t *)linux_removexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 197 = linux_removexattr */
+ { AS(linux_lremovexattr_args), (sy_call_t *)linux_lremovexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 198 = linux_lremovexattr */
+ { AS(linux_fremovexattr_args), (sy_call_t *)linux_fremovexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 199 = linux_fremovexattr */
{ AS(linux_tkill_args), (sy_call_t *)linux_tkill, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 200 = linux_tkill */
{ AS(linux_time_args), (sy_call_t *)linux_time, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 201 = linux_time */
{ AS(linux_sys_futex_args), (sy_call_t *)linux_sys_futex, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 202 = linux_sys_futex */
@@ -257,12 +257,12 @@ struct sysent linux_sysent[] = {
{ 0, (sy_call_t *)linux_mbind, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 237 = linux_mbind */
{ 0, (sy_call_t *)linux_set_mempolicy, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 238 = linux_set_mempolicy */
{ 0, (sy_call_t *)linux_get_mempolicy, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 239 = linux_get_mempolicy */
- { 0, (sy_call_t *)linux_mq_open, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 240 = linux_mq_open */
- { 0, (sy_call_t *)linux_mq_unlink, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 241 = linux_mq_unlink */
- { 0, (sy_call_t *)linux_mq_timedsend, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 242 = linux_mq_timedsend */
- { 0, (sy_call_t *)linux_mq_timedreceive, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 243 = linux_mq_timedreceive */
- { 0, (sy_call_t *)linux_mq_notify, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 244 = linux_mq_notify */
- { 0, (sy_call_t *)linux_mq_getsetattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 245 = linux_mq_getsetattr */
+ { AS(linux_mq_open_args), (sy_call_t *)linux_mq_open, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 240 = linux_mq_open */
+ { AS(linux_mq_unlink_args), (sy_call_t *)linux_mq_unlink, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 241 = linux_mq_unlink */
+ { AS(linux_mq_timedsend_args), (sy_call_t *)linux_mq_timedsend, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 242 = linux_mq_timedsend */
+ { AS(linux_mq_timedreceive_args), (sy_call_t *)linux_mq_timedreceive, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 243 = linux_mq_timedreceive */
+ { AS(linux_mq_notify_args), (sy_call_t *)linux_mq_notify, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 244 = linux_mq_notify */
+ { AS(linux_mq_getsetattr_args), (sy_call_t *)linux_mq_getsetattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 245 = linux_mq_getsetattr */
{ 0, (sy_call_t *)linux_kexec_load, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 246 = linux_kexec_load */
{ AS(linux_waitid_args), (sy_call_t *)linux_waitid, AUE_WAIT6, NULL, 0, 0, 0, SY_THR_STATIC }, /* 247 = linux_waitid */
{ 0, (sy_call_t *)linux_add_key, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 248 = linux_add_key */
diff --git a/sys/amd64/linux/linux_systrace_args.c b/sys/amd64/linux/linux_systrace_args.c
index a44bd505f603..e6d052b034e4 100644
--- a/sys/amd64/linux/linux_systrace_args.c
+++ b/sys/amd64/linux/linux_systrace_args.c
@@ -17,7 +17,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
struct read_args *p = params;
iarg[0] = p->fd; /* int */
uarg[1] = (intptr_t) p->buf; /* char * */
- uarg[2] = p->nbyte; /* u_int */
+ iarg[2] = p->nbyte; /* l_size_t */
*n_args = 3;
break;
}
@@ -26,7 +26,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
struct write_args *p = params;
iarg[0] = p->fd; /* int */
uarg[1] = (intptr_t) p->buf; /* char * */
- uarg[2] = p->nbyte; /* u_int */
+ iarg[2] = p->nbyte; /* l_size_t */
*n_args = 3;
break;
}
@@ -35,7 +35,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
struct linux_open_args *p = params;
uarg[0] = (intptr_t) p->path; /* char * */
iarg[1] = p->flags; /* l_int */
- iarg[2] = p->mode; /* l_int */
+ iarg[2] = p->mode; /* l_mode_t */
*n_args = 3;
break;
}
@@ -103,17 +103,17 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
/* linux_mprotect */
case 10: {
struct linux_mprotect_args *p = params;
- uarg[0] = (intptr_t) p->addr; /* caddr_t */
- iarg[1] = p->len; /* l_int */
- iarg[2] = p->prot; /* l_int */
+ iarg[0] = p->addr; /* l_ulong */
+ iarg[1] = p->len; /* l_size_t */
+ iarg[2] = p->prot; /* l_ulong */
*n_args = 3;
break;
}
/* munmap */
case 11: {
struct munmap_args *p = params;
- uarg[0] = (intptr_t) p->addr; /* caddr_t */
- iarg[1] = p->len; /* int */
+ uarg[0] = (intptr_t) p->addr; /* void * */
+ iarg[1] = p->len; /* l_size_t */
*n_args = 2;
break;
}
@@ -156,7 +156,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
struct linux_ioctl_args *p = params;
iarg[0] = p->fd; /* l_uint */
iarg[1] = p->cmd; /* l_uint */
- uarg[2] = p->arg; /* uintptr_t */
+ iarg[2] = p->arg; /* l_ulong */
*n_args = 3;
break;
}
@@ -209,7 +209,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
/* linux_pipe */
case 22: {
struct linux_pipe_args *p = params;
- uarg[0] = (intptr_t) p->pipefds; /* l_ulong * */
+ uarg[0] = (intptr_t) p->pipefds; /* l_int * */
*n_args = 1;
break;
}
@@ -261,9 +261,9 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
/* linux_madvise */
case 28: {
struct linux_madvise_args *p = params;
- uarg[0] = (intptr_t) p->addr; /* void * */
- uarg[1] = p->len; /* size_t */
- iarg[2] = p->behav; /* int */
+ iarg[0] = p->addr; /* l_ulong */
+ iarg[1] = p->len; /* l_size_t */
+ iarg[2] = p->behav; /* l_int */
*n_args = 3;
break;
}
@@ -356,7 +356,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
struct linux_sendfile_args *p = params;
iarg[0] = p->out; /* l_int */
iarg[1] = p->in; /* l_int */
- uarg[2] = (intptr_t) p->offset; /* l_long * */
+ uarg[2] = (intptr_t) p->offset; /* l_off_t * */
iarg[3] = p->count; /* l_size_t */
*n_args = 4;
break;
@@ -393,8 +393,8 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
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[2] = p->len; /* l_size_t */
+ iarg[3] = p->flags; /* l_uint */
iarg[4] = p->to; /* l_uintptr_t */
iarg[5] = p->tolen; /* l_int */
*n_args = 6;
@@ -406,7 +406,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
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[3] = p->flags; /* l_uint */
iarg[4] = p->from; /* l_uintptr_t */
iarg[5] = p->fromlen; /* l_uintptr_t */
*n_args = 6;
@@ -417,7 +417,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
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 */
+ iarg[2] = p->flags; /* l_uint */
*n_args = 3;
break;
}
@@ -426,7 +426,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
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 */
+ iarg[2] = p->flags; /* l_uint */
*n_args = 3;
break;
}
@@ -508,7 +508,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
/* linux_clone */
case 56: {
struct linux_clone_args *p = params;
- iarg[0] = p->flags; /* l_int */
+ iarg[0] = p->flags; /* l_ulong */
uarg[1] = (intptr_t) p->stack; /* void * */
uarg[2] = (intptr_t) p->parent_tidptr; /* void * */
uarg[3] = (intptr_t) p->child_tidptr; /* void * */
@@ -555,7 +555,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
/* linux_kill */
case 62: {
struct linux_kill_args *p = params;
- iarg[0] = p->pid; /* l_int */
+ iarg[0] = p->pid; /* l_pid_t */
iarg[1] = p->signum; /* l_int */
*n_args = 2;
break;
@@ -675,7 +675,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
case 76: {
struct linux_truncate_args *p = params;
uarg[0] = (intptr_t) p->path; /* char * */
- iarg[1] = p->length; /* l_ulong */
+ iarg[1] = p->length; /* l_long */
*n_args = 2;
break;
}
@@ -683,7 +683,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
case 77: {
struct linux_ftruncate_args *p = params;
iarg[0] = p->fd; /* l_int */
- iarg[1] = p->length; /* l_long */
+ iarg[1] = p->length; /* l_ulong */
*n_args = 2;
break;
}
@@ -730,7 +730,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
case 83: {
struct linux_mkdir_args *p = params;
uarg[0] = (intptr_t) p->path; /* char * */
- iarg[1] = p->mode; /* l_int */
+ iarg[1] = p->mode; /* l_mode_t */
*n_args = 2;
break;
}
@@ -745,7 +745,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
case 85: {
struct linux_creat_args *p = params;
uarg[0] = (intptr_t) p->path; /* char * */
- iarg[1] = p->mode; /* l_int */
+ iarg[1] = p->mode; /* l_mode_t */
*n_args = 2;
break;
}
@@ -1112,8 +1112,8 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
case 133: {
struct linux_mknod_args *p = params;
uarg[0] = (intptr_t) p->path; /* char * */
- iarg[1] = p->mode; /* l_int */
- iarg[2] = p->dev; /* l_dev_t */
+ iarg[1] = p->mode; /* l_mode_t */
+ iarg[2] = p->dev; /* l_uint */
*n_args = 3;
break;
}
@@ -1127,7 +1127,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
/* linux_ustat */
case 136: {
struct linux_ustat_args *p = params;
- iarg[0] = p->dev; /* l_dev_t */
+ iarg[0] = p->dev; /* l_uint */
uarg[1] = (intptr_t) p->ubuf; /* struct l_ustat * */
*n_args = 2;
break;
@@ -1382,7 +1382,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
case 170: {
struct linux_sethostname_args *p = params;
uarg[0] = (intptr_t) p->hostname; /* char * */
- iarg[1] = p->len; /* l_uint */
+ iarg[1] = p->len; /* l_int */
*n_args = 2;
break;
}
@@ -1433,68 +1433,122 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
}
/* linux_setxattr */
case 188: {
- *n_args = 0;
+ struct linux_setxattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ uarg[2] = (intptr_t) p->value; /* const char * */
+ iarg[3] = p->size; /* l_size_t */
+ iarg[4] = p->flags; /* l_int */
+ *n_args = 5;
break;
}
/* linux_lsetxattr */
case 189: {
- *n_args = 0;
+ struct linux_lsetxattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ uarg[2] = (intptr_t) p->value; /* const char * */
+ iarg[3] = p->size; /* l_size_t */
+ iarg[4] = p->flags; /* l_int */
+ *n_args = 5;
break;
}
/* linux_fsetxattr */
case 190: {
- *n_args = 0;
+ struct linux_fsetxattr_args *p = params;
+ iarg[0] = p->fd; /* l_int */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ uarg[2] = (intptr_t) p->value; /* const char * */
+ iarg[3] = p->size; /* l_size_t */
+ iarg[4] = p->flags; /* l_int */
+ *n_args = 5;
break;
}
/* linux_getxattr */
case 191: {
- *n_args = 0;
+ struct linux_getxattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ uarg[2] = (intptr_t) p->value; /* char * */
+ iarg[3] = p->size; /* l_size_t */
+ *n_args = 4;
break;
}
/* linux_lgetxattr */
case 192: {
- *n_args = 0;
+ struct linux_lgetxattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ uarg[2] = (intptr_t) p->value; /* char * */
+ iarg[3] = p->size; /* l_size_t */
+ *n_args = 4;
break;
}
/* linux_fgetxattr */
case 193: {
- *n_args = 0;
+ struct linux_fgetxattr_args *p = params;
+ iarg[0] = p->fd; /* l_int */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ uarg[2] = (intptr_t) p->value; /* char * */
+ iarg[3] = p->size; /* l_size_t */
+ *n_args = 4;
break;
}
/* linux_listxattr */
case 194: {
- *n_args = 0;
+ struct linux_listxattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->list; /* const char * */
+ iarg[2] = p->size; /* l_size_t */
+ *n_args = 3;
break;
}
/* linux_llistxattr */
case 195: {
- *n_args = 0;
+ struct linux_llistxattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->list; /* const char * */
+ iarg[2] = p->size; /* l_size_t */
+ *n_args = 3;
break;
}
/* linux_flistxattr */
case 196: {
- *n_args = 0;
+ struct linux_flistxattr_args *p = params;
+ iarg[0] = p->fd; /* l_int */
+ uarg[1] = (intptr_t) p->list; /* const char * */
+ iarg[2] = p->size; /* l_size_t */
+ *n_args = 3;
break;
}
/* linux_removexattr */
case 197: {
- *n_args = 0;
+ struct linux_removexattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ *n_args = 2;
break;
}
/* linux_lremovexattr */
case 198: {
- *n_args = 0;
+ struct linux_lremovexattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ *n_args = 2;
break;
}
/* linux_fremovexattr */
case 199: {
- *n_args = 0;
+ struct linux_fremovexattr_args *p = params;
+ iarg[0] = p->fd; /* l_int */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ *n_args = 2;
break;
}
/* linux_tkill */
case 200: {
struct linux_tkill_args *p = params;
- iarg[0] = p->tid; /* l_int */
+ iarg[0] = p->tid; /* l_pid_t */
iarg[1] = p->sig; /* l_int */
*n_args = 2;
break;
@@ -1683,7 +1737,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
case 230: {
struct linux_clock_nanosleep_args *p = params;
iarg[0] = p->which; /* clockid_t */
- iarg[1] = p->flags; /* int */
+ iarg[1] = p->flags; /* l_int */
uarg[2] = (intptr_t) p->rqtp; /* struct l_timespec * */
uarg[3] = (intptr_t) p->rmtp; /* struct l_timespec * */
*n_args = 4;
@@ -1719,8 +1773,8 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
/* linux_tgkill */
case 234: {
struct linux_tgkill_args *p = params;
- iarg[0] = p->tgid; /* l_int */
- iarg[1] = p->pid; /* l_int */
+ iarg[0] = p->tgid; /* l_pid_t */
+ iarg[1] = p->pid; /* l_pid_t */
iarg[2] = p->sig; /* l_int */
*n_args = 3;
break;
@@ -1750,32 +1804,58 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
}
/* linux_mq_open */
case 240: {
- *n_args = 0;
+ struct linux_mq_open_args *p = params;
+ uarg[0] = (intptr_t) p->name; /* const char * */
+ iarg[1] = p->oflag; /* l_int */
+ iarg[2] = p->mode; /* l_mode_t */
+ uarg[3] = (intptr_t) p->attr; /* struct mq_attr * */
+ *n_args = 4;
break;
}
/* linux_mq_unlink */
case 241: {
- *n_args = 0;
+ struct linux_mq_unlink_args *p = params;
+ uarg[0] = (intptr_t) p->name; /* const char * */
+ *n_args = 1;
break;
}
/* linux_mq_timedsend */
case 242: {
- *n_args = 0;
+ struct linux_mq_timedsend_args *p = params;
+ iarg[0] = p->mqd; /* l_mqd_t */
+ uarg[1] = (intptr_t) p->msg_ptr; /* const char * */
+ iarg[2] = p->msg_len; /* l_size_t */
+ iarg[3] = p->msg_prio; /* l_uint */
+ uarg[4] = (intptr_t) p->abs_timeout; /* const struct l_timespec * */
+ *n_args = 5;
break;
}
/* linux_mq_timedreceive */
case 243: {
- *n_args = 0;
+ struct linux_mq_timedreceive_args *p = params;
+ iarg[0] = p->mqd; /* l_mqd_t */
+ uarg[1] = (intptr_t) p->msg_ptr; /* char * */
+ iarg[2] = p->msg_len; /* l_size_t */
+ uarg[3] = (intptr_t) p->msg_prio; /* l_uint * */
+ uarg[4] = (intptr_t) p->abs_timeout; /* const struct l_timespec * */
+ *n_args = 5;
break;
}
/* linux_mq_notify */
case 244: {
- *n_args = 0;
+ struct linux_mq_notify_args *p = params;
+ iarg[0] = p->mqd; /* l_mqd_t */
+ uarg[1] = (intptr_t) p->abs_timeout; /* const struct l_timespec * */
+ *n_args = 2;
break;
}
/* linux_mq_getsetattr */
case 245: {
- *n_args = 0;
+ struct linux_mq_getsetattr_args *p = params;
+ iarg[0] = p->mqd; /* l_mqd_t */
+ uarg[1] = (intptr_t) p->attr; /* const struct mq_attr * */
+ uarg[2] = (intptr_t) p->oattr; /* struct mq_attr * */
+ *n_args = 3;
break;
}
/* linux_kexec_load */
@@ -1845,7 +1925,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
iarg[0] = p->dfd; /* l_int */
uarg[1] = (intptr_t) p->filename; /* const char * */
iarg[2] = p->flags; /* l_int */
- iarg[3] = p->mode; /* l_int */
+ iarg[3] = p->mode; /* l_mode_t */
*n_args = 4;
break;
}
@@ -1854,7 +1934,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
struct linux_mkdirat_args *p = params;
iarg[0] = p->dfd; /* l_int */
uarg[1] = (intptr_t) p->pathname; /* const char * */
- iarg[2] = p->mode; /* l_int */
+ iarg[2] = p->mode; /* l_mode_t */
*n_args = 3;
break;
}
@@ -1863,7 +1943,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
struct linux_mknodat_args *p = params;
iarg[0] = p->dfd; /* l_int */
uarg[1] = (intptr_t) p->filename; /* const char * */
- iarg[2] = p->mode; /* l_int */
+ iarg[2] = p->mode; /* l_mode_t */
iarg[3] = p->dev; /* l_uint */
*n_args = 4;
break;
@@ -1981,7 +2061,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
case 271: {
struct linux_ppoll_args *p = params;
uarg[0] = (intptr_t) p->fds; /* struct pollfd * */
- uarg[1] = p->nfds; /* uint32_t */
+ iarg[1] = p->nfds; /* l_uint */
uarg[2] = (intptr_t) p->tsp; /* struct l_timespec * */
uarg[3] = (intptr_t) p->sset; /* l_sigset_t * */
iarg[4] = p->ssize; /* l_size_t */
@@ -2026,7 +2106,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
iarg[0] = p->fd; /* l_int */
iarg[1] = p->offset; /* l_loff_t */
iarg[2] = p->nbytes; /* l_loff_t */
- uarg[3] = p->flags; /* unsigned int */
+ iarg[3] = p->flags; /* l_uint */
*n_args = 4;
break;
}
@@ -2116,7 +2196,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
iarg[0] = p->s; /* l_int */
iarg[1] = p->addr; /* l_uintptr_t */
iarg[2] = p->namelen; /* l_uintptr_t */
- iarg[3] = p->flags; /* int */
+ iarg[3] = p->flags; /* l_int */
*n_args = 4;
break;
}
@@ -2143,8 +2223,8 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
/* linux_dup3 */
case 292: {
struct linux_dup3_args *p = params;
- iarg[0] = p->oldfd; /* l_int */
- iarg[1] = p->newfd; /* l_int */
+ iarg[0] = p->oldfd; /* l_uint */
+ iarg[1] = p->newfd; /* l_uint */
iarg[2] = p->flags; /* l_int */
*n_args = 3;
break;
@@ -2351,7 +2431,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
uarg[1] = (intptr_t) p->oldname; /* const char * */
iarg[2] = p->newdfd; /* l_int */
uarg[3] = (intptr_t) p->newname; /* const char * */
- uarg[4] = p->flags; /* unsigned int */
+ iarg[4] = p->flags; /* l_uint */
*n_args = 5;
break;
}
@@ -2564,7 +2644,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "userland char *";
break;
case 2:
- p = "u_int";
+ p = "l_size_t";
break;
default:
break;
@@ -2580,7 +2660,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "userland char *";
break;
case 2:
- p = "u_int";
+ p = "l_size_t";
break;
default:
break;
@@ -2596,7 +2676,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "l_int";
break;
case 2:
- p = "l_int";
+ p = "l_mode_t";
break;
default:
break;
@@ -2712,13 +2792,13 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 10:
switch(ndx) {
case 0:
- p = "caddr_t";
+ p = "l_ulong";
break;
case 1:
- p = "l_int";
+ p = "l_size_t";
break;
case 2:
- p = "l_int";
+ p = "l_ulong";
break;
default:
break;
@@ -2728,10 +2808,10 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 11:
switch(ndx) {
case 0:
- p = "caddr_t";
+ p = "userland void *";
break;
case 1:
- p = "int";
+ p = "l_size_t";
break;
default:
break;
@@ -2805,7 +2885,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "l_uint";
break;
case 2:
- p = "uintptr_t";
+ p = "l_ulong";
break;
default:
break;
@@ -2898,7 +2978,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 22:
switch(ndx) {
case 0:
- p = "userland l_ulong *";
+ p = "userland l_int *";
break;
default:
break;
@@ -2987,13 +3067,13 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 28:
switch(ndx) {
case 0:
- p = "userland void *";
+ p = "l_ulong";
break;
case 1:
- p = "size_t";
+ p = "l_size_t";
break;
case 2:
- p = "int";
+ p = "l_int";
break;
default:
break;
@@ -3138,7 +3218,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "l_int";
break;
case 2:
- p = "userland l_long *";
+ p = "userland l_off_t *";
break;
case 3:
p = "l_size_t";
@@ -3205,10 +3285,10 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "l_uintptr_t";
break;
case 2:
- p = "l_int";
+ p = "l_size_t";
break;
case 3:
- p = "l_int";
+ p = "l_uint";
break;
case 4:
p = "l_uintptr_t";
@@ -3233,7 +3313,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "l_size_t";
break;
case 3:
- p = "l_int";
+ p = "l_uint";
break;
case 4:
p = "l_uintptr_t";
@@ -3255,7 +3335,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "l_uintptr_t";
break;
case 2:
- p = "l_int";
+ p = "l_uint";
break;
default:
break;
@@ -3271,7 +3351,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "l_uintptr_t";
break;
case 2:
- p = "l_int";
+ p = "l_uint";
break;
default:
break;
@@ -3418,7 +3498,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 56:
switch(ndx) {
case 0:
- p = "l_int";
+ p = "l_ulong";
break;
case 1:
p = "userland void *";
@@ -3491,7 +3571,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 62:
switch(ndx) {
case 0:
- p = "l_int";
+ p = "l_pid_t";
break;
case 1:
p = "l_int";
@@ -3697,7 +3777,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "userland char *";
break;
case 1:
- p = "l_ulong";
+ p = "l_long";
break;
default:
break;
@@ -3710,7 +3790,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "l_int";
break;
case 1:
- p = "l_long";
+ p = "l_ulong";
break;
default:
break;
@@ -3785,7 +3865,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "userland char *";
break;
case 1:
- p = "l_int";
+ p = "l_mode_t";
break;
default:
break;
@@ -3808,7 +3888,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "userland char *";
break;
case 1:
- p = "l_int";
+ p = "l_mode_t";
break;
default:
break;
@@ -4374,10 +4454,10 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "userland char *";
break;
case 1:
- p = "l_int";
+ p = "l_mode_t";
break;
case 2:
- p = "l_dev_t";
+ p = "l_uint";
break;
default:
break;
@@ -4397,7 +4477,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 136:
switch(ndx) {
case 0:
- p = "l_dev_t";
+ p = "l_uint";
break;
case 1:
p = "userland struct l_ustat *";
@@ -4781,7 +4861,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "userland char *";
break;
case 1:
- p = "l_uint";
+ p = "l_int";
break;
default:
break;
@@ -4830,45 +4910,219 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_setxattr */
case 188:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "userland const char *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ case 4:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
break;
/* linux_lsetxattr */
case 189:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "userland const char *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ case 4:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
break;
/* linux_fsetxattr */
case 190:
+ 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 = "l_size_t";
+ break;
+ case 4:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
break;
/* linux_getxattr */
case 191:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "userland char *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_lgetxattr */
case 192:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "userland char *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_fgetxattr */
case 193:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "userland char *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_listxattr */
case 194:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_llistxattr */
case 195:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_flistxattr */
case 196:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_removexattr */
case 197:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_lremovexattr */
case 198:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_fremovexattr */
case 199:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_tkill */
case 200:
switch(ndx) {
case 0:
- p = "l_int";
+ p = "l_pid_t";
break;
case 1:
p = "l_int";
@@ -5140,7 +5394,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "clockid_t";
break;
case 1:
- p = "int";
+ p = "l_int";
break;
case 2:
p = "userland struct l_timespec *";
@@ -5204,10 +5458,10 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 234:
switch(ndx) {
case 0:
- p = "l_int";
+ p = "l_pid_t";
break;
case 1:
- p = "l_int";
+ p = "l_pid_t";
break;
case 2:
p = "l_int";
@@ -5240,21 +5494,105 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_mq_open */
case 240:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "l_int";
+ break;
+ case 2:
+ p = "l_mode_t";
+ break;
+ case 3:
+ p = "userland struct mq_attr *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_mq_unlink */
case 241:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_mq_timedsend */
case 242:
+ switch(ndx) {
+ case 0:
+ p = "l_mqd_t";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "l_size_t";
+ break;
+ case 3:
+ p = "l_uint";
+ break;
+ case 4:
+ p = "userland const struct l_timespec *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_mq_timedreceive */
case 243:
+ switch(ndx) {
+ case 0:
+ p = "l_mqd_t";
+ break;
+ case 1:
+ p = "userland char *";
+ break;
+ case 2:
+ p = "l_size_t";
+ break;
+ case 3:
+ p = "userland l_uint *";
+ break;
+ case 4:
+ p = "userland const struct l_timespec *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_mq_notify */
case 244:
+ switch(ndx) {
+ case 0:
+ p = "l_mqd_t";
+ break;
+ case 1:
+ p = "userland const struct l_timespec *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_mq_getsetattr */
case 245:
+ switch(ndx) {
+ case 0:
+ p = "l_mqd_t";
+ break;
+ case 1:
+ p = "userland const struct mq_attr *";
+ break;
+ case 2:
+ p = "userland struct mq_attr *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_kexec_load */
case 246:
@@ -5321,7 +5659,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "l_int";
break;
case 3:
- p = "l_int";
+ p = "l_mode_t";
break;
default:
break;
@@ -5337,7 +5675,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "userland const char *";
break;
case 2:
- p = "l_int";
+ p = "l_mode_t";
break;
default:
break;
@@ -5353,7 +5691,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "userland const char *";
break;
case 2:
- p = "l_int";
+ p = "l_mode_t";
break;
case 3:
p = "l_uint";
@@ -5575,7 +5913,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "userland struct pollfd *";
break;
case 1:
- p = "uint32_t";
+ p = "l_uint";
break;
case 2:
p = "userland struct l_timespec *";
@@ -5641,7 +5979,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "l_loff_t";
break;
case 3:
- p = "unsigned int";
+ p = "l_uint";
break;
default:
break;
@@ -5787,7 +6125,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "l_uintptr_t";
break;
case 3:
- p = "int";
+ p = "l_int";
break;
default:
break;
@@ -5823,10 +6161,10 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 292:
switch(ndx) {
case 0:
- p = "l_int";
+ p = "l_uint";
break;
case 1:
- p = "l_int";
+ p = "l_uint";
break;
case 2:
p = "l_int";
@@ -6177,7 +6515,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "userland const char *";
break;
case 4:
- p = "unsigned int";
+ p = "l_uint";
break;
default:
break;
@@ -7329,28 +7667,64 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 187:
/* linux_setxattr */
case 188:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_lsetxattr */
case 189:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_fsetxattr */
case 190:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_getxattr */
case 191:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_lgetxattr */
case 192:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_fgetxattr */
case 193:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_listxattr */
case 194:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_llistxattr */
case 195:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_flistxattr */
case 196:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_removexattr */
case 197:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_lremovexattr */
case 198:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_fremovexattr */
case 199:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_tkill */
case 200:
if (ndx == 0 || ndx == 1)
@@ -7492,16 +7866,34 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 239:
/* linux_mq_open */
case 240:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_mq_unlink */
case 241:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_mq_timedsend */
case 242:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_mq_timedreceive */
case 243:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_mq_notify */
case 244:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_mq_getsetattr */
case 245:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_kexec_load */
case 246:
/* linux_waitid */
diff --git a/sys/amd64/linux32/linux32_proto.h b/sys/amd64/linux32/linux32_proto.h
index 6279a5782600..57dc8dc6a1f6 100644
--- a/sys/amd64/linux32/linux32_proto.h
+++ b/sys/amd64/linux32/linux32_proto.h
@@ -706,40 +706,70 @@ struct linux_gettid_args {
register_t dummy;
};
struct linux_setxattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char value_l_[PADL_(const char *)]; const char * value; char value_r_[PADR_(const char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
};
struct linux_lsetxattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char value_l_[PADL_(const char *)]; const char * value; char value_r_[PADR_(const char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
};
struct linux_fsetxattr_args {
- register_t dummy;
+ char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char value_l_[PADL_(const char *)]; const char * value; char value_r_[PADR_(const char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
};
struct linux_getxattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char value_l_[PADL_(char *)]; char * value; char value_r_[PADR_(char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
};
struct linux_lgetxattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char value_l_[PADL_(char *)]; char * value; char value_r_[PADR_(char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
};
struct linux_fgetxattr_args {
- register_t dummy;
+ char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char value_l_[PADL_(char *)]; char * value; char value_r_[PADR_(char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
};
struct linux_listxattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char list_l_[PADL_(const char *)]; const char * list; char list_r_[PADR_(const char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
};
struct linux_llistxattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char list_l_[PADL_(const char *)]; const char * list; char list_r_[PADR_(const char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
};
struct linux_flistxattr_args {
- register_t dummy;
+ char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
+ char list_l_[PADL_(const char *)]; const char * list; char list_r_[PADR_(const char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
};
struct linux_removexattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
};
struct linux_lremovexattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
};
struct linux_fremovexattr_args {
- register_t dummy;
+ char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
};
struct linux_tkill_args {
char tid_l_[PADL_(int)]; int tid; char tid_r_[PADR_(int)];
@@ -882,22 +912,36 @@ struct linux_set_mempolicy_args {
register_t dummy;
};
struct linux_mq_open_args {
- register_t dummy;
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char oflag_l_[PADL_(l_int)]; l_int oflag; char oflag_r_[PADR_(l_int)];
+ char mode_l_[PADL_(l_mode_t)]; l_mode_t mode; char mode_r_[PADR_(l_mode_t)];
+ char attr_l_[PADL_(struct mq_attr *)]; struct mq_attr * attr; char attr_r_[PADR_(struct mq_attr *)];
};
struct linux_mq_unlink_args {
- register_t dummy;
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
};
struct linux_mq_timedsend_args {
- register_t dummy;
+ char mqd_l_[PADL_(l_mqd_t)]; l_mqd_t mqd; char mqd_r_[PADR_(l_mqd_t)];
+ char msg_ptr_l_[PADL_(const char *)]; const char * msg_ptr; char msg_ptr_r_[PADR_(const char *)];
+ char msg_len_l_[PADL_(l_size_t)]; l_size_t msg_len; char msg_len_r_[PADR_(l_size_t)];
+ char msg_prio_l_[PADL_(l_uint)]; l_uint msg_prio; char msg_prio_r_[PADR_(l_uint)];
+ char abs_timeout_l_[PADL_(const struct l_timespec *)]; const struct l_timespec * abs_timeout; char abs_timeout_r_[PADR_(const struct l_timespec *)];
};
struct linux_mq_timedreceive_args {
- register_t dummy;
+ char mqd_l_[PADL_(l_mqd_t)]; l_mqd_t mqd; char mqd_r_[PADR_(l_mqd_t)];
+ char msg_ptr_l_[PADL_(char *)]; char * msg_ptr; char msg_ptr_r_[PADR_(char *)];
+ char msg_len_l_[PADL_(l_size_t)]; l_size_t msg_len; char msg_len_r_[PADR_(l_size_t)];
+ char msg_prio_l_[PADL_(l_uint *)]; l_uint * msg_prio; char msg_prio_r_[PADR_(l_uint *)];
+ char abs_timeout_l_[PADL_(const struct l_timespec *)]; const struct l_timespec * abs_timeout; char abs_timeout_r_[PADR_(const struct l_timespec *)];
};
struct linux_mq_notify_args {
- register_t dummy;
+ char mqd_l_[PADL_(l_mqd_t)]; l_mqd_t mqd; char mqd_r_[PADR_(l_mqd_t)];
+ char abs_timeout_l_[PADL_(const struct l_timespec *)]; const struct l_timespec * abs_timeout; char abs_timeout_r_[PADR_(const struct l_timespec *)];
};
struct linux_mq_getsetattr_args {
- register_t dummy;
+ char mqd_l_[PADL_(l_mqd_t)]; l_mqd_t mqd; char mqd_r_[PADR_(l_mqd_t)];
+ char attr_l_[PADL_(const struct mq_attr *)]; const struct mq_attr * attr; char attr_r_[PADR_(const struct mq_attr *)];
+ char oattr_l_[PADL_(struct mq_attr *)]; struct mq_attr * oattr; char oattr_r_[PADR_(struct mq_attr *)];
};
struct linux_kexec_load_args {
register_t dummy;
diff --git a/sys/amd64/linux32/linux32_sysent.c b/sys/amd64/linux32/linux32_sysent.c
index 769246be45a8..00810a657814 100644
--- a/sys/amd64/linux32/linux32_sysent.c
+++ b/sys/amd64/linux32/linux32_sysent.c
@@ -243,18 +243,18 @@ struct sysent linux32_sysent[] = {
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 223 = */
{ 0, (sy_call_t *)linux_gettid, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 224 = linux_gettid */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 225 = linux_readahead */
- { 0, (sy_call_t *)linux_setxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 226 = linux_setxattr */
- { 0, (sy_call_t *)linux_lsetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 227 = linux_lsetxattr */
- { 0, (sy_call_t *)linux_fsetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 228 = linux_fsetxattr */
- { 0, (sy_call_t *)linux_getxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 229 = linux_getxattr */
- { 0, (sy_call_t *)linux_lgetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 230 = linux_lgetxattr */
- { 0, (sy_call_t *)linux_fgetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 231 = linux_fgetxattr */
- { 0, (sy_call_t *)linux_listxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 232 = linux_listxattr */
- { 0, (sy_call_t *)linux_llistxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 233 = linux_llistxattr */
- { 0, (sy_call_t *)linux_flistxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 234 = linux_flistxattr */
- { 0, (sy_call_t *)linux_removexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 235 = linux_removexattr */
- { 0, (sy_call_t *)linux_lremovexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 236 = linux_lremovexattr */
- { 0, (sy_call_t *)linux_fremovexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 237 = linux_fremovexattr */
+ { AS(linux_setxattr_args), (sy_call_t *)linux_setxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 226 = linux_setxattr */
+ { AS(linux_lsetxattr_args), (sy_call_t *)linux_lsetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 227 = linux_lsetxattr */
+ { AS(linux_fsetxattr_args), (sy_call_t *)linux_fsetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 228 = linux_fsetxattr */
+ { AS(linux_getxattr_args), (sy_call_t *)linux_getxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 229 = linux_getxattr */
+ { AS(linux_lgetxattr_args), (sy_call_t *)linux_lgetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 230 = linux_lgetxattr */
+ { AS(linux_fgetxattr_args), (sy_call_t *)linux_fgetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 231 = linux_fgetxattr */
+ { AS(linux_listxattr_args), (sy_call_t *)linux_listxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 232 = linux_listxattr */
+ { AS(linux_llistxattr_args), (sy_call_t *)linux_llistxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 233 = linux_llistxattr */
+ { AS(linux_flistxattr_args), (sy_call_t *)linux_flistxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 234 = linux_flistxattr */
+ { AS(linux_removexattr_args), (sy_call_t *)linux_removexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 235 = linux_removexattr */
+ { AS(linux_lremovexattr_args), (sy_call_t *)linux_lremovexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 236 = linux_lremovexattr */
+ { AS(linux_fremovexattr_args), (sy_call_t *)linux_fremovexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 237 = linux_fremovexattr */
{ AS(linux_tkill_args), (sy_call_t *)linux_tkill, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 238 = linux_tkill */
{ AS(linux_sendfile64_args), (sy_call_t *)linux_sendfile64, AUE_SENDFILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 239 = linux_sendfile64 */
{ AS(linux_sys_futex_args), (sy_call_t *)linux_sys_futex, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 240 = linux_sys_futex */
@@ -294,12 +294,12 @@ struct sysent linux32_sysent[] = {
{ 0, (sy_call_t *)linux_mbind, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 274 = linux_mbind */
{ 0, (sy_call_t *)linux_get_mempolicy, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 275 = linux_get_mempolicy */
{ 0, (sy_call_t *)linux_set_mempolicy, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 276 = linux_set_mempolicy */
- { 0, (sy_call_t *)linux_mq_open, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 277 = linux_mq_open */
- { 0, (sy_call_t *)linux_mq_unlink, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 278 = linux_mq_unlink */
- { 0, (sy_call_t *)linux_mq_timedsend, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 279 = linux_mq_timedsend */
- { 0, (sy_call_t *)linux_mq_timedreceive, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 280 = linux_mq_timedreceive */
- { 0, (sy_call_t *)linux_mq_notify, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 281 = linux_mq_notify */
- { 0, (sy_call_t *)linux_mq_getsetattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 282 = linux_mq_getsetattr */
+ { AS(linux_mq_open_args), (sy_call_t *)linux_mq_open, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 277 = linux_mq_open */
+ { AS(linux_mq_unlink_args), (sy_call_t *)linux_mq_unlink, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 278 = linux_mq_unlink */
+ { AS(linux_mq_timedsend_args), (sy_call_t *)linux_mq_timedsend, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 279 = linux_mq_timedsend */
+ { AS(linux_mq_timedreceive_args), (sy_call_t *)linux_mq_timedreceive, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 280 = linux_mq_timedreceive */
+ { AS(linux_mq_notify_args), (sy_call_t *)linux_mq_notify, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 281 = linux_mq_notify */
+ { AS(linux_mq_getsetattr_args), (sy_call_t *)linux_mq_getsetattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 282 = linux_mq_getsetattr */
{ 0, (sy_call_t *)linux_kexec_load, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 283 = linux_kexec_load */
{ AS(linux_waitid_args), (sy_call_t *)linux_waitid, AUE_WAIT6, NULL, 0, 0, 0, SY_THR_STATIC }, /* 284 = linux_waitid */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 285 = */
diff --git a/sys/amd64/linux32/linux32_systrace_args.c b/sys/amd64/linux32/linux32_systrace_args.c
index cb12085b7d8f..b5efde458733 100644
--- a/sys/amd64/linux32/linux32_systrace_args.c
+++ b/sys/amd64/linux32/linux32_systrace_args.c
@@ -1559,62 +1559,116 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
}
/* linux_setxattr */
case 226: {
- *n_args = 0;
+ struct linux_setxattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ uarg[2] = (intptr_t) p->value; /* const char * */
+ iarg[3] = p->size; /* l_size_t */
+ iarg[4] = p->flags; /* l_int */
+ *n_args = 5;
break;
}
/* linux_lsetxattr */
case 227: {
- *n_args = 0;
+ struct linux_lsetxattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ uarg[2] = (intptr_t) p->value; /* const char * */
+ iarg[3] = p->size; /* l_size_t */
+ iarg[4] = p->flags; /* l_int */
+ *n_args = 5;
break;
}
/* linux_fsetxattr */
case 228: {
- *n_args = 0;
+ struct linux_fsetxattr_args *p = params;
+ iarg[0] = p->fd; /* l_int */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ uarg[2] = (intptr_t) p->value; /* const char * */
+ iarg[3] = p->size; /* l_size_t */
+ iarg[4] = p->flags; /* l_int */
+ *n_args = 5;
break;
}
/* linux_getxattr */
case 229: {
- *n_args = 0;
+ struct linux_getxattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ uarg[2] = (intptr_t) p->value; /* char * */
+ iarg[3] = p->size; /* l_size_t */
+ *n_args = 4;
break;
}
/* linux_lgetxattr */
case 230: {
- *n_args = 0;
+ struct linux_lgetxattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ uarg[2] = (intptr_t) p->value; /* char * */
+ iarg[3] = p->size; /* l_size_t */
+ *n_args = 4;
break;
}
/* linux_fgetxattr */
case 231: {
- *n_args = 0;
+ struct linux_fgetxattr_args *p = params;
+ iarg[0] = p->fd; /* l_int */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ uarg[2] = (intptr_t) p->value; /* char * */
+ iarg[3] = p->size; /* l_size_t */
+ *n_args = 4;
break;
}
/* linux_listxattr */
case 232: {
- *n_args = 0;
+ struct linux_listxattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->list; /* const char * */
+ iarg[2] = p->size; /* l_size_t */
+ *n_args = 3;
break;
}
/* linux_llistxattr */
case 233: {
- *n_args = 0;
+ struct linux_llistxattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->list; /* const char * */
+ iarg[2] = p->size; /* l_size_t */
+ *n_args = 3;
break;
}
/* linux_flistxattr */
case 234: {
- *n_args = 0;
+ struct linux_flistxattr_args *p = params;
+ iarg[0] = p->fd; /* l_int */
+ uarg[1] = (intptr_t) p->list; /* const char * */
+ iarg[2] = p->size; /* l_size_t */
+ *n_args = 3;
break;
}
/* linux_removexattr */
case 235: {
- *n_args = 0;
+ struct linux_removexattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ *n_args = 2;
break;
}
/* linux_lremovexattr */
case 236: {
- *n_args = 0;
+ struct linux_lremovexattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ *n_args = 2;
break;
}
/* linux_fremovexattr */
case 237: {
- *n_args = 0;
+ struct linux_fremovexattr_args *p = params;
+ iarg[0] = p->fd; /* l_int */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ *n_args = 2;
break;
}
/* linux_tkill */
@@ -1873,32 +1927,58 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
}
/* linux_mq_open */
case 277: {
- *n_args = 0;
+ struct linux_mq_open_args *p = params;
+ uarg[0] = (intptr_t) p->name; /* const char * */
+ iarg[1] = p->oflag; /* l_int */
+ iarg[2] = p->mode; /* l_mode_t */
+ uarg[3] = (intptr_t) p->attr; /* struct mq_attr * */
+ *n_args = 4;
break;
}
/* linux_mq_unlink */
case 278: {
- *n_args = 0;
+ struct linux_mq_unlink_args *p = params;
+ uarg[0] = (intptr_t) p->name; /* const char * */
+ *n_args = 1;
break;
}
/* linux_mq_timedsend */
case 279: {
- *n_args = 0;
+ struct linux_mq_timedsend_args *p = params;
+ iarg[0] = p->mqd; /* l_mqd_t */
+ uarg[1] = (intptr_t) p->msg_ptr; /* const char * */
+ iarg[2] = p->msg_len; /* l_size_t */
+ iarg[3] = p->msg_prio; /* l_uint */
+ uarg[4] = (intptr_t) p->abs_timeout; /* const struct l_timespec * */
+ *n_args = 5;
break;
}
/* linux_mq_timedreceive */
case 280: {
- *n_args = 0;
+ struct linux_mq_timedreceive_args *p = params;
+ iarg[0] = p->mqd; /* l_mqd_t */
+ uarg[1] = (intptr_t) p->msg_ptr; /* char * */
+ iarg[2] = p->msg_len; /* l_size_t */
+ uarg[3] = (intptr_t) p->msg_prio; /* l_uint * */
+ uarg[4] = (intptr_t) p->abs_timeout; /* const struct l_timespec * */
+ *n_args = 5;
break;
}
/* linux_mq_notify */
case 281: {
- *n_args = 0;
+ struct linux_mq_notify_args *p = params;
+ iarg[0] = p->mqd; /* l_mqd_t */
+ uarg[1] = (intptr_t) p->abs_timeout; /* const struct l_timespec * */
+ *n_args = 2;
break;
}
/* linux_mq_getsetattr */
case 282: {
- *n_args = 0;
+ struct linux_mq_getsetattr_args *p = params;
+ iarg[0] = p->mqd; /* l_mqd_t */
+ uarg[1] = (intptr_t) p->attr; /* const struct mq_attr * */
+ uarg[2] = (intptr_t) p->oattr; /* struct mq_attr * */
+ *n_args = 3;
break;
}
/* linux_kexec_load */
@@ -5416,39 +5496,213 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_setxattr */
case 226:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "userland const char *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ case 4:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
break;
/* linux_lsetxattr */
case 227:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "userland const char *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ case 4:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
break;
/* linux_fsetxattr */
case 228:
+ 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 = "l_size_t";
+ break;
+ case 4:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
break;
/* linux_getxattr */
case 229:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "userland char *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_lgetxattr */
case 230:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "userland char *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_fgetxattr */
case 231:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "userland char *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_listxattr */
case 232:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_llistxattr */
case 233:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_flistxattr */
case 234:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_removexattr */
case 235:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_lremovexattr */
case 236:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_fremovexattr */
case 237:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_tkill */
case 238:
@@ -5868,21 +6122,105 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_mq_open */
case 277:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "l_int";
+ break;
+ case 2:
+ p = "l_mode_t";
+ break;
+ case 3:
+ p = "userland struct mq_attr *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_mq_unlink */
case 278:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_mq_timedsend */
case 279:
+ switch(ndx) {
+ case 0:
+ p = "l_mqd_t";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "l_size_t";
+ break;
+ case 3:
+ p = "l_uint";
+ break;
+ case 4:
+ p = "userland const struct l_timespec *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_mq_timedreceive */
case 280:
+ switch(ndx) {
+ case 0:
+ p = "l_mqd_t";
+ break;
+ case 1:
+ p = "userland char *";
+ break;
+ case 2:
+ p = "l_size_t";
+ break;
+ case 3:
+ p = "userland l_uint *";
+ break;
+ case 4:
+ p = "userland const struct l_timespec *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_mq_notify */
case 281:
+ switch(ndx) {
+ case 0:
+ p = "l_mqd_t";
+ break;
+ case 1:
+ p = "userland const struct l_timespec *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_mq_getsetattr */
case 282:
+ switch(ndx) {
+ case 0:
+ p = "l_mqd_t";
+ break;
+ case 1:
+ p = "userland const struct mq_attr *";
+ break;
+ case 2:
+ p = "userland struct mq_attr *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_kexec_load */
case 283:
@@ -8504,28 +8842,64 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 224:
/* linux_setxattr */
case 226:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_lsetxattr */
case 227:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_fsetxattr */
case 228:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_getxattr */
case 229:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_lgetxattr */
case 230:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_fgetxattr */
case 231:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_listxattr */
case 232:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_llistxattr */
case 233:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_flistxattr */
case 234:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_removexattr */
case 235:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_lremovexattr */
case 236:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_fremovexattr */
case 237:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_tkill */
case 238:
if (ndx == 0 || ndx == 1)
@@ -8668,16 +9042,34 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 276:
/* linux_mq_open */
case 277:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_mq_unlink */
case 278:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_mq_timedsend */
case 279:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_mq_timedreceive */
case 280:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_mq_notify */
case 281:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_mq_getsetattr */
case 282:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_kexec_load */
case 283:
/* linux_waitid */
diff --git a/sys/arm64/linux/linux_proto.h b/sys/arm64/linux/linux_proto.h
index 670c14ea4f60..feb23d059b6c 100644
--- a/sys/arm64/linux/linux_proto.h
+++ b/sys/arm64/linux/linux_proto.h
@@ -36,40 +36,70 @@ struct thread;
#define nosys linux_nosys
struct linux_setxattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char value_l_[PADL_(const char *)]; const char * value; char value_r_[PADR_(const char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
};
struct linux_lsetxattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char value_l_[PADL_(const char *)]; const char * value; char value_r_[PADR_(const char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
};
struct linux_fsetxattr_args {
- register_t dummy;
+ char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char value_l_[PADL_(const char *)]; const char * value; char value_r_[PADR_(const char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
};
struct linux_getxattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char value_l_[PADL_(char *)]; char * value; char value_r_[PADR_(char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
};
struct linux_lgetxattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char value_l_[PADL_(char *)]; char * value; char value_r_[PADR_(char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
};
struct linux_fgetxattr_args {
- register_t dummy;
+ char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char value_l_[PADL_(char *)]; char * value; char value_r_[PADR_(char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
};
struct linux_listxattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char list_l_[PADL_(const char *)]; const char * list; char list_r_[PADR_(const char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
};
struct linux_llistxattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char list_l_[PADL_(const char *)]; const char * list; char list_r_[PADR_(const char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
};
struct linux_flistxattr_args {
- register_t dummy;
+ char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
+ char list_l_[PADL_(const char *)]; const char * list; char list_r_[PADR_(const char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
};
struct linux_removexattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
};
struct linux_lremovexattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
};
struct linux_fremovexattr_args {
- register_t dummy;
+ char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
};
struct linux_getcwd_args {
char buf_l_[PADL_(char *)]; char * buf; char buf_r_[PADR_(char *)];
@@ -121,7 +151,7 @@ struct linux_inotify_rm_watch_args {
struct linux_ioctl_args {
char fd_l_[PADL_(l_uint)]; l_uint fd; char fd_r_[PADR_(l_uint)];
char cmd_l_[PADL_(l_uint)]; l_uint cmd; char cmd_r_[PADR_(l_uint)];
- char arg_l_[PADL_(uintptr_t)]; uintptr_t arg; char arg_r_[PADR_(uintptr_t)];
+ char arg_l_[PADL_(l_ulong)]; l_ulong arg; char arg_r_[PADR_(l_ulong)];
};
struct linux_ioprio_set_args {
register_t dummy;
@@ -138,7 +168,7 @@ struct linux_mknodat_args {
struct linux_mkdirat_args {
char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)];
char pathname_l_[PADL_(const char *)]; const char * pathname; char pathname_r_[PADR_(const char *)];
- char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)];
+ char mode_l_[PADL_(l_mode_t)]; l_mode_t mode; char mode_r_[PADR_(l_mode_t)];
};
struct linux_unlinkat_args {
char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)];
@@ -219,7 +249,7 @@ struct linux_openat_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 flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
- char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)];
+ char mode_l_[PADL_(l_mode_t)]; l_mode_t mode; char mode_r_[PADR_(l_mode_t)];
};
struct linux_vhangup_args {
register_t dummy;
@@ -267,7 +297,7 @@ struct linux_pwritev_args {
struct linux_sendfile_args {
char out_l_[PADL_(l_int)]; l_int out; char out_r_[PADR_(l_int)];
char in_l_[PADL_(l_int)]; l_int in; char in_r_[PADR_(l_int)];
- char offset_l_[PADL_(l_long *)]; l_long * offset; char offset_r_[PADR_(l_long *)];
+ char offset_l_[PADL_(l_off_t *)]; l_off_t * offset; char offset_r_[PADR_(l_off_t *)];
char count_l_[PADL_(l_size_t)]; l_size_t count; char count_r_[PADR_(l_size_t)];
};
struct linux_pselect6_args {
@@ -280,7 +310,7 @@ struct linux_pselect6_args {
};
struct linux_ppoll_args {
char fds_l_[PADL_(struct pollfd *)]; struct pollfd * fds; char fds_r_[PADR_(struct pollfd *)];
- char nfds_l_[PADL_(uint32_t)]; uint32_t nfds; char nfds_r_[PADR_(uint32_t)];
+ char nfds_l_[PADL_(l_uint)]; l_uint nfds; char nfds_r_[PADR_(l_uint)];
char tsp_l_[PADL_(struct l_timespec *)]; struct l_timespec * tsp; char tsp_r_[PADR_(struct l_timespec *)];
char sset_l_[PADL_(l_sigset_t *)]; l_sigset_t * sset; char sset_r_[PADR_(l_sigset_t *)];
char ssize_l_[PADL_(l_size_t)]; l_size_t ssize; char ssize_r_[PADR_(l_size_t)];
@@ -320,7 +350,7 @@ struct linux_sync_file_range_args {
char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
char offset_l_[PADL_(l_loff_t)]; l_loff_t offset; char offset_r_[PADR_(l_loff_t)];
char nbytes_l_[PADL_(l_loff_t)]; l_loff_t nbytes; char nbytes_r_[PADR_(l_loff_t)];
- char flags_l_[PADL_(unsigned int)]; unsigned int flags; char flags_r_[PADR_(unsigned int)];
+ char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)];
};
struct linux_timerfd_create_args {
char clockid_l_[PADL_(l_int)]; l_int clockid; char clockid_r_[PADR_(l_int)];
@@ -354,10 +384,10 @@ struct linux_personality_args {
char per_l_[PADL_(l_uint)]; l_uint per; char per_r_[PADR_(l_uint)];
};
struct linux_exit_args {
- char rval_l_[PADL_(int)]; int rval; char rval_r_[PADR_(int)];
+ char rval_l_[PADL_(u_int)]; u_int rval; char rval_r_[PADR_(u_int)];
};
struct linux_exit_group_args {
- char error_code_l_[PADL_(int)]; int error_code; char error_code_r_[PADR_(int)];
+ char error_code_l_[PADL_(l_int)]; l_int error_code; char error_code_r_[PADR_(l_int)];
};
struct linux_waitid_args {
char idtype_l_[PADL_(l_int)]; l_int idtype; char idtype_r_[PADR_(l_int)];
@@ -367,7 +397,7 @@ struct linux_waitid_args {
char rusage_l_[PADL_(struct rusage *)]; struct rusage * rusage; char rusage_r_[PADR_(struct rusage *)];
};
struct linux_set_tid_address_args {
- char tidptr_l_[PADL_(int *)]; int * tidptr; char tidptr_r_[PADR_(int *)];
+ char tidptr_l_[PADL_(l_int *)]; l_int * tidptr; char tidptr_r_[PADR_(l_int *)];
};
struct linux_unshare_args {
register_t dummy;
@@ -446,7 +476,7 @@ struct linux_clock_getres_args {
};
struct linux_clock_nanosleep_args {
char which_l_[PADL_(clockid_t)]; clockid_t which; char which_r_[PADR_(clockid_t)];
- char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
char rqtp_l_[PADL_(struct l_timespec *)]; struct l_timespec * rqtp; char rqtp_r_[PADR_(struct l_timespec *)];
char rmtp_l_[PADL_(struct l_timespec *)]; struct l_timespec * rmtp; char rmtp_r_[PADR_(struct l_timespec *)];
};
@@ -498,16 +528,16 @@ struct linux_sched_rr_get_interval_args {
char interval_l_[PADL_(struct l_timespec *)]; struct l_timespec * interval; char interval_r_[PADR_(struct l_timespec *)];
};
struct linux_kill_args {
- char pid_l_[PADL_(l_int)]; l_int pid; char pid_r_[PADR_(l_int)];
+ char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)];
char signum_l_[PADL_(l_int)]; l_int signum; char signum_r_[PADR_(l_int)];
};
struct linux_tkill_args {
- char tid_l_[PADL_(l_int)]; l_int tid; char tid_r_[PADR_(l_int)];
+ 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)];
};
struct linux_tgkill_args {
- char tgid_l_[PADL_(l_int)]; l_int tgid; char tgid_r_[PADR_(l_int)];
- char pid_l_[PADL_(l_int)]; l_int pid; char pid_r_[PADR_(l_int)];
+ char tgid_l_[PADL_(l_pid_t)]; l_pid_t tgid; char tgid_r_[PADR_(l_pid_t)];
+ char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)];
char sig_l_[PADL_(l_int)]; l_int sig; char sig_r_[PADR_(l_int)];
};
struct linux_sigaltstack_args {
@@ -631,22 +661,36 @@ struct linux_sysinfo_args {
char info_l_[PADL_(struct l_sysinfo *)]; struct l_sysinfo * info; char info_r_[PADR_(struct l_sysinfo *)];
};
struct linux_mq_open_args {
- register_t dummy;
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char oflag_l_[PADL_(l_int)]; l_int oflag; char oflag_r_[PADR_(l_int)];
+ char mode_l_[PADL_(l_mode_t)]; l_mode_t mode; char mode_r_[PADR_(l_mode_t)];
+ char attr_l_[PADL_(struct mq_attr *)]; struct mq_attr * attr; char attr_r_[PADR_(struct mq_attr *)];
};
struct linux_mq_unlink_args {
- register_t dummy;
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
};
struct linux_mq_timedsend_args {
- register_t dummy;
+ char mqd_l_[PADL_(l_mqd_t)]; l_mqd_t mqd; char mqd_r_[PADR_(l_mqd_t)];
+ char msg_ptr_l_[PADL_(const char *)]; const char * msg_ptr; char msg_ptr_r_[PADR_(const char *)];
+ char msg_len_l_[PADL_(l_size_t)]; l_size_t msg_len; char msg_len_r_[PADR_(l_size_t)];
+ char msg_prio_l_[PADL_(l_uint)]; l_uint msg_prio; char msg_prio_r_[PADR_(l_uint)];
+ char abs_timeout_l_[PADL_(const struct l_timespec *)]; const struct l_timespec * abs_timeout; char abs_timeout_r_[PADR_(const struct l_timespec *)];
};
struct linux_mq_timedreceive_args {
- register_t dummy;
+ char mqd_l_[PADL_(l_mqd_t)]; l_mqd_t mqd; char mqd_r_[PADR_(l_mqd_t)];
+ char msg_ptr_l_[PADL_(char *)]; char * msg_ptr; char msg_ptr_r_[PADR_(char *)];
+ char msg_len_l_[PADL_(l_size_t)]; l_size_t msg_len; char msg_len_r_[PADR_(l_size_t)];
+ char msg_prio_l_[PADL_(l_uint *)]; l_uint * msg_prio; char msg_prio_r_[PADR_(l_uint *)];
+ char abs_timeout_l_[PADL_(const struct l_timespec *)]; const struct l_timespec * abs_timeout; char abs_timeout_r_[PADR_(const struct l_timespec *)];
};
struct linux_mq_notify_args {
- register_t dummy;
+ char mqd_l_[PADL_(l_mqd_t)]; l_mqd_t mqd; char mqd_r_[PADR_(l_mqd_t)];
+ char abs_timeout_l_[PADL_(const struct l_timespec *)]; const struct l_timespec * abs_timeout; char abs_timeout_r_[PADR_(const struct l_timespec *)];
};
struct linux_mq_getsetattr_args {
- register_t dummy;
+ char mqd_l_[PADL_(l_mqd_t)]; l_mqd_t mqd; char mqd_r_[PADR_(l_mqd_t)];
+ char attr_l_[PADL_(const struct mq_attr *)]; const struct mq_attr * attr; char attr_r_[PADR_(const struct mq_attr *)];
+ char oattr_l_[PADL_(struct mq_attr *)]; struct mq_attr * oattr; char oattr_r_[PADR_(struct mq_attr *)];
};
struct linux_msgget_args {
char key_l_[PADL_(l_key_t)]; l_key_t key; char key_r_[PADR_(l_key_t)];
@@ -750,8 +794,8 @@ struct linux_getpeername_args {
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 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)];
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)];
};
@@ -759,7 +803,7 @@ 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 flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)];
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)];
};
@@ -784,12 +828,12 @@ struct linux_shutdown_args {
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)];
+ char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)];
};
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)];
+ char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)];
};
struct linux_brk_args {
char dsend_l_[PADL_(l_ulong)]; l_ulong dsend; char dsend_r_[PADR_(l_ulong)];
@@ -811,7 +855,7 @@ struct linux_keyctl_args {
register_t dummy;
};
struct linux_clone_args {
- char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
+ char flags_l_[PADL_(l_ulong)]; l_ulong flags; char flags_r_[PADR_(l_ulong)];
char stack_l_[PADL_(void *)]; void * stack; char stack_r_[PADR_(void *)];
char parent_tidptr_l_[PADL_(void *)]; void * parent_tidptr; char parent_tidptr_r_[PADR_(void *)];
char tls_l_[PADL_(void *)]; void * tls; char tls_r_[PADR_(void *)];
@@ -840,9 +884,9 @@ struct linux_swapoff_args {
register_t dummy;
};
struct linux_mprotect_args {
- char addr_l_[PADL_(caddr_t)]; caddr_t addr; char addr_r_[PADR_(caddr_t)];
- char len_l_[PADL_(l_int)]; l_int len; char len_r_[PADR_(l_int)];
- char prot_l_[PADL_(l_int)]; l_int prot; char prot_r_[PADR_(l_int)];
+ char addr_l_[PADL_(l_ulong)]; l_ulong addr; char addr_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)];
};
struct linux_msync_args {
char addr_l_[PADL_(l_ulong)]; l_ulong addr; char addr_r_[PADR_(l_ulong)];
@@ -855,9 +899,9 @@ struct linux_mincore_args {
char vec_l_[PADL_(u_char *)]; u_char * vec; char vec_r_[PADR_(u_char *)];
};
struct linux_madvise_args {
- char addr_l_[PADL_(void *)]; void * addr; char addr_r_[PADR_(void *)];
- char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)];
- char behav_l_[PADL_(int)]; int behav; char behav_r_[PADR_(int)];
+ char addr_l_[PADL_(l_ulong)]; l_ulong addr; char addr_r_[PADR_(l_ulong)];
+ char len_l_[PADL_(l_size_t)]; l_size_t len; char len_r_[PADR_(l_size_t)];
+ char behav_l_[PADL_(l_int)]; l_int behav; char behav_r_[PADR_(l_int)];
};
struct linux_remap_file_pages_args {
register_t dummy;
@@ -890,7 +934,7 @@ 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_(int)]; int flags; char flags_r_[PADR_(int)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
};
struct linux_recvmmsg_args {
char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)];
@@ -983,7 +1027,7 @@ struct linux_renameat2_args {
char oldname_l_[PADL_(const char *)]; const char * oldname; char oldname_r_[PADR_(const char *)];
char newdfd_l_[PADL_(l_int)]; l_int newdfd; char newdfd_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)];
+ char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)];
};
struct linux_seccomp_args {
char op_l_[PADL_(l_uint)]; l_uint op; char op_r_[PADR_(l_uint)];
diff --git a/sys/arm64/linux/linux_sysent.c b/sys/arm64/linux/linux_sysent.c
index c8d5122cffbd..b7ca80cfeda9 100644
--- a/sys/arm64/linux/linux_sysent.c
+++ b/sys/arm64/linux/linux_sysent.c
@@ -22,18 +22,18 @@ struct sysent linux_sysent[] = {
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 2 = linux_io_submit */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 3 = linux_io_cancel */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 4 = linux_io_getevents */
- { 0, (sy_call_t *)linux_setxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 5 = linux_setxattr */
- { 0, (sy_call_t *)linux_lsetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 6 = linux_lsetxattr */
- { 0, (sy_call_t *)linux_fsetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 7 = linux_fsetxattr */
- { 0, (sy_call_t *)linux_getxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 8 = linux_getxattr */
- { 0, (sy_call_t *)linux_lgetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 9 = linux_lgetxattr */
- { 0, (sy_call_t *)linux_fgetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 10 = linux_fgetxattr */
- { 0, (sy_call_t *)linux_listxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 11 = linux_listxattr */
- { 0, (sy_call_t *)linux_llistxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 12 = linux_llistxattr */
- { 0, (sy_call_t *)linux_flistxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 13 = linux_flistxattr */
- { 0, (sy_call_t *)linux_removexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 14 = linux_removexattr */
- { 0, (sy_call_t *)linux_lremovexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 15 = linux_lremovexattr */
- { 0, (sy_call_t *)linux_fremovexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 16 = linux_fremovexattr */
+ { AS(linux_setxattr_args), (sy_call_t *)linux_setxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 5 = linux_setxattr */
+ { AS(linux_lsetxattr_args), (sy_call_t *)linux_lsetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 6 = linux_lsetxattr */
+ { AS(linux_fsetxattr_args), (sy_call_t *)linux_fsetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 7 = linux_fsetxattr */
+ { AS(linux_getxattr_args), (sy_call_t *)linux_getxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 8 = linux_getxattr */
+ { AS(linux_lgetxattr_args), (sy_call_t *)linux_lgetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 9 = linux_lgetxattr */
+ { AS(linux_fgetxattr_args), (sy_call_t *)linux_fgetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 10 = linux_fgetxattr */
+ { AS(linux_listxattr_args), (sy_call_t *)linux_listxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 11 = linux_listxattr */
+ { AS(linux_llistxattr_args), (sy_call_t *)linux_llistxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 12 = linux_llistxattr */
+ { AS(linux_flistxattr_args), (sy_call_t *)linux_flistxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 13 = linux_flistxattr */
+ { AS(linux_removexattr_args), (sy_call_t *)linux_removexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 14 = linux_removexattr */
+ { AS(linux_lremovexattr_args), (sy_call_t *)linux_lremovexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 15 = linux_lremovexattr */
+ { AS(linux_fremovexattr_args), (sy_call_t *)linux_fremovexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 16 = linux_fremovexattr */
{ AS(linux_getcwd_args), (sy_call_t *)linux_getcwd, AUE_GETCWD, NULL, 0, 0, 0, SY_THR_STATIC }, /* 17 = linux_getcwd */
{ 0, (sy_call_t *)linux_lookup_dcookie, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 18 = linux_lookup_dcookie */
{ AS(linux_eventfd2_args), (sy_call_t *)linux_eventfd2, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 19 = linux_eventfd2 */
@@ -197,12 +197,12 @@ struct sysent linux_sysent[] = {
{ 0, (sy_call_t *)sys_getegid, AUE_GETEGID, NULL, 0, 0, 0, SY_THR_STATIC }, /* 177 = getegid */
{ 0, (sy_call_t *)linux_gettid, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 178 = linux_gettid */
{ AS(linux_sysinfo_args), (sy_call_t *)linux_sysinfo, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 179 = linux_sysinfo */
- { 0, (sy_call_t *)linux_mq_open, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 180 = linux_mq_open */
- { 0, (sy_call_t *)linux_mq_unlink, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 181 = linux_mq_unlink */
- { 0, (sy_call_t *)linux_mq_timedsend, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 182 = linux_mq_timedsend */
- { 0, (sy_call_t *)linux_mq_timedreceive, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 183 = linux_mq_timedreceive */
- { 0, (sy_call_t *)linux_mq_notify, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 184 = linux_mq_notify */
- { 0, (sy_call_t *)linux_mq_getsetattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 185 = linux_mq_getsetattr */
+ { AS(linux_mq_open_args), (sy_call_t *)linux_mq_open, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 180 = linux_mq_open */
+ { AS(linux_mq_unlink_args), (sy_call_t *)linux_mq_unlink, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 181 = linux_mq_unlink */
+ { AS(linux_mq_timedsend_args), (sy_call_t *)linux_mq_timedsend, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 182 = linux_mq_timedsend */
+ { AS(linux_mq_timedreceive_args), (sy_call_t *)linux_mq_timedreceive, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 183 = linux_mq_timedreceive */
+ { AS(linux_mq_notify_args), (sy_call_t *)linux_mq_notify, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 184 = linux_mq_notify */
+ { AS(linux_mq_getsetattr_args), (sy_call_t *)linux_mq_getsetattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 185 = linux_mq_getsetattr */
{ AS(linux_msgget_args), (sy_call_t *)linux_msgget, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 186 = linux_msgget */
{ AS(linux_msgctl_args), (sy_call_t *)linux_msgctl, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 187 = linux_msgctl */
{ AS(linux_msgrcv_args), (sy_call_t *)linux_msgrcv, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 188 = linux_msgrcv */
diff --git a/sys/arm64/linux/linux_systrace_args.c b/sys/arm64/linux/linux_systrace_args.c
index 193f84e88a4e..3bb994e71792 100644
--- a/sys/arm64/linux/linux_systrace_args.c
+++ b/sys/arm64/linux/linux_systrace_args.c
@@ -14,62 +14,116 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
#define nosys linux_nosys
/* linux_setxattr */
case 5: {
- *n_args = 0;
+ struct linux_setxattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ uarg[2] = (intptr_t) p->value; /* const char * */
+ iarg[3] = p->size; /* l_size_t */
+ iarg[4] = p->flags; /* l_int */
+ *n_args = 5;
break;
}
/* linux_lsetxattr */
case 6: {
- *n_args = 0;
+ struct linux_lsetxattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ uarg[2] = (intptr_t) p->value; /* const char * */
+ iarg[3] = p->size; /* l_size_t */
+ iarg[4] = p->flags; /* l_int */
+ *n_args = 5;
break;
}
/* linux_fsetxattr */
case 7: {
- *n_args = 0;
+ struct linux_fsetxattr_args *p = params;
+ iarg[0] = p->fd; /* l_int */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ uarg[2] = (intptr_t) p->value; /* const char * */
+ iarg[3] = p->size; /* l_size_t */
+ iarg[4] = p->flags; /* l_int */
+ *n_args = 5;
break;
}
/* linux_getxattr */
case 8: {
- *n_args = 0;
+ struct linux_getxattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ uarg[2] = (intptr_t) p->value; /* char * */
+ iarg[3] = p->size; /* l_size_t */
+ *n_args = 4;
break;
}
/* linux_lgetxattr */
case 9: {
- *n_args = 0;
+ struct linux_lgetxattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ uarg[2] = (intptr_t) p->value; /* char * */
+ iarg[3] = p->size; /* l_size_t */
+ *n_args = 4;
break;
}
/* linux_fgetxattr */
case 10: {
- *n_args = 0;
+ struct linux_fgetxattr_args *p = params;
+ iarg[0] = p->fd; /* l_int */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ uarg[2] = (intptr_t) p->value; /* char * */
+ iarg[3] = p->size; /* l_size_t */
+ *n_args = 4;
break;
}
/* linux_listxattr */
case 11: {
- *n_args = 0;
+ struct linux_listxattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->list; /* const char * */
+ iarg[2] = p->size; /* l_size_t */
+ *n_args = 3;
break;
}
/* linux_llistxattr */
case 12: {
- *n_args = 0;
+ struct linux_llistxattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->list; /* const char * */
+ iarg[2] = p->size; /* l_size_t */
+ *n_args = 3;
break;
}
/* linux_flistxattr */
case 13: {
- *n_args = 0;
+ struct linux_flistxattr_args *p = params;
+ iarg[0] = p->fd; /* l_int */
+ uarg[1] = (intptr_t) p->list; /* const char * */
+ iarg[2] = p->size; /* l_size_t */
+ *n_args = 3;
break;
}
/* linux_removexattr */
case 14: {
- *n_args = 0;
+ struct linux_removexattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ *n_args = 2;
break;
}
/* linux_lremovexattr */
case 15: {
- *n_args = 0;
+ struct linux_lremovexattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ *n_args = 2;
break;
}
/* linux_fremovexattr */
case 16: {
- *n_args = 0;
+ struct linux_fremovexattr_args *p = params;
+ iarg[0] = p->fd; /* l_int */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ *n_args = 2;
break;
}
/* linux_getcwd */
@@ -169,7 +223,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
struct linux_ioctl_args *p = params;
iarg[0] = p->fd; /* l_uint */
iarg[1] = p->cmd; /* l_uint */
- uarg[2] = p->arg; /* uintptr_t */
+ iarg[2] = p->arg; /* l_ulong */
*n_args = 3;
break;
}
@@ -206,7 +260,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
struct linux_mkdirat_args *p = params;
iarg[0] = p->dfd; /* l_int */
uarg[1] = (intptr_t) p->pathname; /* const char * */
- iarg[2] = p->mode; /* l_int */
+ iarg[2] = p->mode; /* l_mode_t */
*n_args = 3;
break;
}
@@ -380,7 +434,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
iarg[0] = p->dfd; /* l_int */
uarg[1] = (intptr_t) p->filename; /* const char * */
iarg[2] = p->flags; /* l_int */
- iarg[3] = p->mode; /* l_int */
+ iarg[3] = p->mode; /* l_mode_t */
*n_args = 4;
break;
}
@@ -427,7 +481,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
struct read_args *p = params;
iarg[0] = p->fd; /* int */
uarg[1] = (intptr_t) p->buf; /* char * */
- uarg[2] = p->nbyte; /* u_int */
+ iarg[2] = p->nbyte; /* l_size_t */
*n_args = 3;
break;
}
@@ -436,7 +490,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
struct write_args *p = params;
iarg[0] = p->fd; /* int */
uarg[1] = (intptr_t) p->buf; /* char * */
- uarg[2] = p->nbyte; /* u_int */
+ iarg[2] = p->nbyte; /* l_size_t */
*n_args = 3;
break;
}
@@ -505,7 +559,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
struct linux_sendfile_args *p = params;
iarg[0] = p->out; /* l_int */
iarg[1] = p->in; /* l_int */
- uarg[2] = (intptr_t) p->offset; /* l_long * */
+ uarg[2] = (intptr_t) p->offset; /* l_off_t * */
iarg[3] = p->count; /* l_size_t */
*n_args = 4;
break;
@@ -526,7 +580,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
case 73: {
struct linux_ppoll_args *p = params;
uarg[0] = (intptr_t) p->fds; /* struct pollfd * */
- uarg[1] = p->nfds; /* uint32_t */
+ iarg[1] = p->nfds; /* l_uint */
uarg[2] = (intptr_t) p->tsp; /* struct l_timespec * */
uarg[3] = (intptr_t) p->sset; /* l_sigset_t * */
iarg[4] = p->ssize; /* l_size_t */
@@ -601,7 +655,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
iarg[0] = p->fd; /* l_int */
iarg[1] = p->offset; /* l_loff_t */
iarg[2] = p->nbytes; /* l_loff_t */
- uarg[3] = p->flags; /* unsigned int */
+ iarg[3] = p->flags; /* l_uint */
*n_args = 4;
break;
}
@@ -674,14 +728,14 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
/* linux_exit */
case 93: {
struct linux_exit_args *p = params;
- iarg[0] = p->rval; /* int */
+ uarg[0] = p->rval; /* u_int */
*n_args = 1;
break;
}
/* linux_exit_group */
case 94: {
struct linux_exit_group_args *p = params;
- iarg[0] = p->error_code; /* int */
+ iarg[0] = p->error_code; /* l_int */
*n_args = 1;
break;
}
@@ -699,7 +753,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
/* linux_set_tid_address */
case 96: {
struct linux_set_tid_address_args *p = params;
- uarg[0] = (intptr_t) p->tidptr; /* int * */
+ uarg[0] = (intptr_t) p->tidptr; /* l_int * */
*n_args = 1;
break;
}
@@ -846,7 +900,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
case 115: {
struct linux_clock_nanosleep_args *p = params;
iarg[0] = p->which; /* clockid_t */
- iarg[1] = p->flags; /* int */
+ iarg[1] = p->flags; /* l_int */
uarg[2] = (intptr_t) p->rqtp; /* struct l_timespec * */
uarg[3] = (intptr_t) p->rmtp; /* struct l_timespec * */
*n_args = 4;
@@ -951,7 +1005,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
/* linux_kill */
case 129: {
struct linux_kill_args *p = params;
- iarg[0] = p->pid; /* l_int */
+ iarg[0] = p->pid; /* l_pid_t */
iarg[1] = p->signum; /* l_int */
*n_args = 2;
break;
@@ -959,7 +1013,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
/* linux_tkill */
case 130: {
struct linux_tkill_args *p = params;
- iarg[0] = p->tid; /* l_int */
+ iarg[0] = p->tid; /* l_pid_t */
iarg[1] = p->sig; /* l_int */
*n_args = 2;
break;
@@ -967,8 +1021,8 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
/* linux_tgkill */
case 131: {
struct linux_tgkill_args *p = params;
- iarg[0] = p->tgid; /* l_int */
- iarg[1] = p->pid; /* l_int */
+ iarg[0] = p->tgid; /* l_pid_t */
+ iarg[1] = p->pid; /* l_pid_t */
iarg[2] = p->sig; /* l_int */
*n_args = 3;
break;
@@ -1339,32 +1393,58 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
}
/* linux_mq_open */
case 180: {
- *n_args = 0;
+ struct linux_mq_open_args *p = params;
+ uarg[0] = (intptr_t) p->name; /* const char * */
+ iarg[1] = p->oflag; /* l_int */
+ iarg[2] = p->mode; /* l_mode_t */
+ uarg[3] = (intptr_t) p->attr; /* struct mq_attr * */
+ *n_args = 4;
break;
}
/* linux_mq_unlink */
case 181: {
- *n_args = 0;
+ struct linux_mq_unlink_args *p = params;
+ uarg[0] = (intptr_t) p->name; /* const char * */
+ *n_args = 1;
break;
}
/* linux_mq_timedsend */
case 182: {
- *n_args = 0;
+ struct linux_mq_timedsend_args *p = params;
+ iarg[0] = p->mqd; /* l_mqd_t */
+ uarg[1] = (intptr_t) p->msg_ptr; /* const char * */
+ iarg[2] = p->msg_len; /* l_size_t */
+ iarg[3] = p->msg_prio; /* l_uint */
+ uarg[4] = (intptr_t) p->abs_timeout; /* const struct l_timespec * */
+ *n_args = 5;
break;
}
/* linux_mq_timedreceive */
case 183: {
- *n_args = 0;
+ struct linux_mq_timedreceive_args *p = params;
+ iarg[0] = p->mqd; /* l_mqd_t */
+ uarg[1] = (intptr_t) p->msg_ptr; /* char * */
+ iarg[2] = p->msg_len; /* l_size_t */
+ uarg[3] = (intptr_t) p->msg_prio; /* l_uint * */
+ uarg[4] = (intptr_t) p->abs_timeout; /* const struct l_timespec * */
+ *n_args = 5;
break;
}
/* linux_mq_notify */
case 184: {
- *n_args = 0;
+ struct linux_mq_notify_args *p = params;
+ iarg[0] = p->mqd; /* l_mqd_t */
+ uarg[1] = (intptr_t) p->abs_timeout; /* const struct l_timespec * */
+ *n_args = 2;
break;
}
/* linux_mq_getsetattr */
case 185: {
- *n_args = 0;
+ struct linux_mq_getsetattr_args *p = params;
+ iarg[0] = p->mqd; /* l_mqd_t */
+ uarg[1] = (intptr_t) p->attr; /* const struct mq_attr * */
+ uarg[2] = (intptr_t) p->oattr; /* struct mq_attr * */
+ *n_args = 3;
break;
}
/* linux_msgget */
@@ -1549,8 +1629,8 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
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[2] = p->len; /* l_size_t */
+ iarg[3] = p->flags; /* l_uint */
iarg[4] = p->to; /* l_uintptr_t */
iarg[5] = p->tolen; /* l_int */
*n_args = 6;
@@ -1562,7 +1642,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
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[3] = p->flags; /* l_uint */
iarg[4] = p->from; /* l_uintptr_t */
iarg[5] = p->fromlen; /* l_uintptr_t */
*n_args = 6;
@@ -1603,7 +1683,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
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 */
+ iarg[2] = p->flags; /* l_uint */
*n_args = 3;
break;
}
@@ -1612,7 +1692,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
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 */
+ iarg[2] = p->flags; /* l_uint */
*n_args = 3;
break;
}
@@ -1626,8 +1706,8 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
/* munmap */
case 215: {
struct munmap_args *p = params;
- uarg[0] = (intptr_t) p->addr; /* caddr_t */
- iarg[1] = p->len; /* int */
+ uarg[0] = (intptr_t) p->addr; /* void * */
+ iarg[1] = p->len; /* l_size_t */
*n_args = 2;
break;
}
@@ -1660,7 +1740,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
/* linux_clone */
case 220: {
struct linux_clone_args *p = params;
- iarg[0] = p->flags; /* l_int */
+ iarg[0] = p->flags; /* l_ulong */
uarg[1] = (intptr_t) p->stack; /* void * */
uarg[2] = (intptr_t) p->parent_tidptr; /* void * */
uarg[3] = (intptr_t) p->tls; /* void * */
@@ -1714,9 +1794,9 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
/* linux_mprotect */
case 226: {
struct linux_mprotect_args *p = params;
- uarg[0] = (intptr_t) p->addr; /* caddr_t */
- iarg[1] = p->len; /* l_int */
- iarg[2] = p->prot; /* l_int */
+ iarg[0] = p->addr; /* l_ulong */
+ iarg[1] = p->len; /* l_size_t */
+ iarg[2] = p->prot; /* l_ulong */
*n_args = 3;
break;
}
@@ -1769,9 +1849,9 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
/* linux_madvise */
case 233: {
struct linux_madvise_args *p = params;
- uarg[0] = (intptr_t) p->addr; /* void * */
- uarg[1] = p->len; /* size_t */
- iarg[2] = p->behav; /* int */
+ iarg[0] = p->addr; /* l_ulong */
+ iarg[1] = p->len; /* l_size_t */
+ iarg[2] = p->behav; /* l_int */
*n_args = 3;
break;
}
@@ -1826,7 +1906,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
iarg[0] = p->s; /* l_int */
iarg[1] = p->addr; /* l_uintptr_t */
iarg[2] = p->namelen; /* l_uintptr_t */
- iarg[3] = p->flags; /* int */
+ iarg[3] = p->flags; /* l_int */
*n_args = 4;
break;
}
@@ -1981,7 +2061,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
uarg[1] = (intptr_t) p->oldname; /* const char * */
iarg[2] = p->newdfd; /* l_int */
uarg[3] = (intptr_t) p->newname; /* const char * */
- uarg[4] = p->flags; /* unsigned int */
+ iarg[4] = p->flags; /* l_uint */
*n_args = 5;
break;
}
@@ -2129,39 +2209,213 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
#define nosys linux_nosys
/* linux_setxattr */
case 5:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "userland const char *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ case 4:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
break;
/* linux_lsetxattr */
case 6:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "userland const char *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ case 4:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
break;
/* linux_fsetxattr */
case 7:
+ 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 = "l_size_t";
+ break;
+ case 4:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
break;
/* linux_getxattr */
case 8:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "userland char *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_lgetxattr */
case 9:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "userland char *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_fgetxattr */
case 10:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "userland char *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_listxattr */
case 11:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_llistxattr */
case 12:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_flistxattr */
case 13:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_removexattr */
case 14:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_lremovexattr */
case 15:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_fremovexattr */
case 16:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_getcwd */
case 17:
@@ -2314,7 +2568,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "l_uint";
break;
case 2:
- p = "uintptr_t";
+ p = "l_ulong";
break;
default:
break;
@@ -2368,7 +2622,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "userland const char *";
break;
case 2:
- p = "l_int";
+ p = "l_mode_t";
break;
default:
break;
@@ -2669,7 +2923,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "l_int";
break;
case 3:
- p = "l_int";
+ p = "l_mode_t";
break;
default:
break;
@@ -2743,7 +2997,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "userland char *";
break;
case 2:
- p = "u_int";
+ p = "l_size_t";
break;
default:
break;
@@ -2759,7 +3013,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "userland char *";
break;
case 2:
- p = "u_int";
+ p = "l_size_t";
break;
default:
break;
@@ -2889,7 +3143,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "l_int";
break;
case 2:
- p = "userland l_long *";
+ p = "userland l_off_t *";
break;
case 3:
p = "l_size_t";
@@ -2930,7 +3184,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "userland struct pollfd *";
break;
case 1:
- p = "uint32_t";
+ p = "l_uint";
break;
case 2:
p = "userland struct l_timespec *";
@@ -3041,7 +3295,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "l_loff_t";
break;
case 3:
- p = "unsigned int";
+ p = "l_uint";
break;
default:
break;
@@ -3161,7 +3415,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 93:
switch(ndx) {
case 0:
- p = "int";
+ p = "u_int";
break;
default:
break;
@@ -3171,7 +3425,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 94:
switch(ndx) {
case 0:
- p = "int";
+ p = "l_int";
break;
default:
break;
@@ -3203,7 +3457,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 96:
switch(ndx) {
case 0:
- p = "userland int *";
+ p = "userland l_int *";
break;
default:
break;
@@ -3431,7 +3685,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "clockid_t";
break;
case 1:
- p = "int";
+ p = "l_int";
break;
case 2:
p = "userland struct l_timespec *";
@@ -3602,7 +3856,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 129:
switch(ndx) {
case 0:
- p = "l_int";
+ p = "l_pid_t";
break;
case 1:
p = "l_int";
@@ -3615,7 +3869,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 130:
switch(ndx) {
case 0:
- p = "l_int";
+ p = "l_pid_t";
break;
case 1:
p = "l_int";
@@ -3628,10 +3882,10 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 131:
switch(ndx) {
case 0:
- p = "l_int";
+ p = "l_pid_t";
break;
case 1:
- p = "l_int";
+ p = "l_pid_t";
break;
case 2:
p = "l_int";
@@ -4197,21 +4451,105 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_mq_open */
case 180:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "l_int";
+ break;
+ case 2:
+ p = "l_mode_t";
+ break;
+ case 3:
+ p = "userland struct mq_attr *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_mq_unlink */
case 181:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_mq_timedsend */
case 182:
+ switch(ndx) {
+ case 0:
+ p = "l_mqd_t";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "l_size_t";
+ break;
+ case 3:
+ p = "l_uint";
+ break;
+ case 4:
+ p = "userland const struct l_timespec *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_mq_timedreceive */
case 183:
+ switch(ndx) {
+ case 0:
+ p = "l_mqd_t";
+ break;
+ case 1:
+ p = "userland char *";
+ break;
+ case 2:
+ p = "l_size_t";
+ break;
+ case 3:
+ p = "userland l_uint *";
+ break;
+ case 4:
+ p = "userland const struct l_timespec *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_mq_notify */
case 184:
+ switch(ndx) {
+ case 0:
+ p = "l_mqd_t";
+ break;
+ case 1:
+ p = "userland const struct l_timespec *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_mq_getsetattr */
case 185:
+ switch(ndx) {
+ case 0:
+ p = "l_mqd_t";
+ break;
+ case 1:
+ p = "userland const struct mq_attr *";
+ break;
+ case 2:
+ p = "userland struct mq_attr *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_msgget */
case 186:
@@ -4533,10 +4871,10 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "l_uintptr_t";
break;
case 2:
- p = "l_int";
+ p = "l_size_t";
break;
case 3:
- p = "l_int";
+ p = "l_uint";
break;
case 4:
p = "l_uintptr_t";
@@ -4561,7 +4899,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "l_size_t";
break;
case 3:
- p = "l_int";
+ p = "l_uint";
break;
case 4:
p = "l_uintptr_t";
@@ -4640,7 +4978,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "l_uintptr_t";
break;
case 2:
- p = "l_int";
+ p = "l_uint";
break;
default:
break;
@@ -4656,7 +4994,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "l_uintptr_t";
break;
case 2:
- p = "l_int";
+ p = "l_uint";
break;
default:
break;
@@ -4676,10 +5014,10 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 215:
switch(ndx) {
case 0:
- p = "caddr_t";
+ p = "userland void *";
break;
case 1:
- p = "int";
+ p = "l_size_t";
break;
default:
break;
@@ -4720,7 +5058,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 220:
switch(ndx) {
case 0:
- p = "l_int";
+ p = "l_ulong";
break;
case 1:
p = "userland void *";
@@ -4815,13 +5153,13 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 226:
switch(ndx) {
case 0:
- p = "caddr_t";
+ p = "l_ulong";
break;
case 1:
- p = "l_int";
+ p = "l_size_t";
break;
case 2:
- p = "l_int";
+ p = "l_ulong";
break;
default:
break;
@@ -4902,13 +5240,13 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 233:
switch(ndx) {
case 0:
- p = "userland void *";
+ p = "l_ulong";
break;
case 1:
- p = "size_t";
+ p = "l_size_t";
break;
case 2:
- p = "int";
+ p = "l_int";
break;
default:
break;
@@ -4967,7 +5305,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "l_uintptr_t";
break;
case 3:
- p = "int";
+ p = "l_int";
break;
default:
break;
@@ -5229,7 +5567,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "userland const char *";
break;
case 4:
- p = "unsigned int";
+ p = "l_uint";
break;
default:
break;
@@ -5488,28 +5826,64 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
#define nosys linux_nosys
/* linux_setxattr */
case 5:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_lsetxattr */
case 6:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_fsetxattr */
case 7:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_getxattr */
case 8:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_lgetxattr */
case 9:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_fgetxattr */
case 10:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_listxattr */
case 11:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_llistxattr */
case 12:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_flistxattr */
case 13:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_removexattr */
case 14:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_lremovexattr */
case 15:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_fremovexattr */
case 16:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_getcwd */
case 17:
if (ndx == 0 || ndx == 1)
@@ -6227,16 +6601,34 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_mq_open */
case 180:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_mq_unlink */
case 181:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_mq_timedsend */
case 182:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_mq_timedreceive */
case 183:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_mq_notify */
case 184:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_mq_getsetattr */
case 185:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_msgget */
case 186:
if (ndx == 0 || ndx == 1)
diff --git a/sys/i386/linux/linux_proto.h b/sys/i386/linux/linux_proto.h
index eb56fcd7a4d7..ae69e02b0985 100644
--- a/sys/i386/linux/linux_proto.h
+++ b/sys/i386/linux/linux_proto.h
@@ -703,40 +703,70 @@ struct linux_gettid_args {
register_t dummy;
};
struct linux_setxattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char value_l_[PADL_(const char *)]; const char * value; char value_r_[PADR_(const char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
};
struct linux_lsetxattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char value_l_[PADL_(const char *)]; const char * value; char value_r_[PADR_(const char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
};
struct linux_fsetxattr_args {
- register_t dummy;
+ char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char value_l_[PADL_(const char *)]; const char * value; char value_r_[PADR_(const char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
};
struct linux_getxattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char value_l_[PADL_(char *)]; char * value; char value_r_[PADR_(char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
};
struct linux_lgetxattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char value_l_[PADL_(char *)]; char * value; char value_r_[PADR_(char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
};
struct linux_fgetxattr_args {
- register_t dummy;
+ char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char value_l_[PADL_(char *)]; char * value; char value_r_[PADR_(char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
};
struct linux_listxattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char list_l_[PADL_(const char *)]; const char * list; char list_r_[PADR_(const char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
};
struct linux_llistxattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char list_l_[PADL_(const char *)]; const char * list; char list_r_[PADR_(const char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
};
struct linux_flistxattr_args {
- register_t dummy;
+ char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
+ char list_l_[PADL_(const char *)]; const char * list; char list_r_[PADR_(const char *)];
+ char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)];
};
struct linux_removexattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
};
struct linux_lremovexattr_args {
- register_t dummy;
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
};
struct linux_fremovexattr_args {
- register_t dummy;
+ char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
};
struct linux_tkill_args {
char tid_l_[PADL_(int)]; int tid; char tid_r_[PADR_(int)];
@@ -880,8 +910,8 @@ struct linux_set_mempolicy_args {
};
struct linux_mq_open_args {
char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
- char oflag_l_[PADL_(int)]; int oflag; char oflag_r_[PADR_(int)];
- char mode_l_[PADL_(mode_t)]; mode_t mode; char mode_r_[PADR_(mode_t)];
+ char oflag_l_[PADL_(l_int)]; l_int oflag; char oflag_r_[PADR_(l_int)];
+ char mode_l_[PADL_(l_mode_t)]; l_mode_t mode; char mode_r_[PADR_(l_mode_t)];
char attr_l_[PADL_(struct mq_attr *)]; struct mq_attr * attr; char attr_r_[PADR_(struct mq_attr *)];
};
struct linux_mq_unlink_args {
@@ -890,15 +920,15 @@ struct linux_mq_unlink_args {
struct linux_mq_timedsend_args {
char mqd_l_[PADL_(l_mqd_t)]; l_mqd_t mqd; char mqd_r_[PADR_(l_mqd_t)];
char msg_ptr_l_[PADL_(const char *)]; const char * msg_ptr; char msg_ptr_r_[PADR_(const char *)];
- char msg_len_l_[PADL_(size_t)]; size_t msg_len; char msg_len_r_[PADR_(size_t)];
- char msg_prio_l_[PADL_(unsigned int)]; unsigned int msg_prio; char msg_prio_r_[PADR_(unsigned int)];
+ char msg_len_l_[PADL_(l_size_t)]; l_size_t msg_len; char msg_len_r_[PADR_(l_size_t)];
+ char msg_prio_l_[PADL_(l_uint)]; l_uint msg_prio; char msg_prio_r_[PADR_(l_uint)];
char abs_timeout_l_[PADL_(const struct l_timespec *)]; const struct l_timespec * abs_timeout; char abs_timeout_r_[PADR_(const struct l_timespec *)];
};
struct linux_mq_timedreceive_args {
char mqd_l_[PADL_(l_mqd_t)]; l_mqd_t mqd; char mqd_r_[PADR_(l_mqd_t)];
char msg_ptr_l_[PADL_(char *)]; char * msg_ptr; char msg_ptr_r_[PADR_(char *)];
- char msg_len_l_[PADL_(size_t)]; size_t msg_len; char msg_len_r_[PADR_(size_t)];
- char msg_prio_l_[PADL_(unsigned int)]; unsigned int msg_prio; char msg_prio_r_[PADR_(unsigned int)];
+ char msg_len_l_[PADL_(l_size_t)]; l_size_t msg_len; char msg_len_r_[PADR_(l_size_t)];
+ char msg_prio_l_[PADL_(l_uint *)]; l_uint * msg_prio; char msg_prio_r_[PADR_(l_uint *)];
char abs_timeout_l_[PADL_(const struct l_timespec *)]; const struct l_timespec * abs_timeout; char abs_timeout_r_[PADR_(const struct l_timespec *)];
};
struct linux_mq_notify_args {
diff --git a/sys/i386/linux/linux_sysent.c b/sys/i386/linux/linux_sysent.c
index e1bb92b3ba52..54ac4939f3b1 100644
--- a/sys/i386/linux/linux_sysent.c
+++ b/sys/i386/linux/linux_sysent.c
@@ -243,18 +243,18 @@ struct sysent linux_sysent[] = {
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 223 = */
{ 0, (sy_call_t *)linux_gettid, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 224 = linux_gettid */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 225 = linux_readahead */
- { 0, (sy_call_t *)linux_setxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 226 = linux_setxattr */
- { 0, (sy_call_t *)linux_lsetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 227 = linux_lsetxattr */
- { 0, (sy_call_t *)linux_fsetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 228 = linux_fsetxattr */
- { 0, (sy_call_t *)linux_getxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 229 = linux_getxattr */
- { 0, (sy_call_t *)linux_lgetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 230 = linux_lgetxattr */
- { 0, (sy_call_t *)linux_fgetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 231 = linux_fgetxattr */
- { 0, (sy_call_t *)linux_listxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 232 = linux_listxattr */
- { 0, (sy_call_t *)linux_llistxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 233 = linux_llistxattr */
- { 0, (sy_call_t *)linux_flistxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 234 = linux_flistxattr */
- { 0, (sy_call_t *)linux_removexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 235 = linux_removexattr */
- { 0, (sy_call_t *)linux_lremovexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 236 = linux_lremovexattr */
- { 0, (sy_call_t *)linux_fremovexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 237 = linux_fremovexattr */
+ { AS(linux_setxattr_args), (sy_call_t *)linux_setxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 226 = linux_setxattr */
+ { AS(linux_lsetxattr_args), (sy_call_t *)linux_lsetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 227 = linux_lsetxattr */
+ { AS(linux_fsetxattr_args), (sy_call_t *)linux_fsetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 228 = linux_fsetxattr */
+ { AS(linux_getxattr_args), (sy_call_t *)linux_getxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 229 = linux_getxattr */
+ { AS(linux_lgetxattr_args), (sy_call_t *)linux_lgetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 230 = linux_lgetxattr */
+ { AS(linux_fgetxattr_args), (sy_call_t *)linux_fgetxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 231 = linux_fgetxattr */
+ { AS(linux_listxattr_args), (sy_call_t *)linux_listxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 232 = linux_listxattr */
+ { AS(linux_llistxattr_args), (sy_call_t *)linux_llistxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 233 = linux_llistxattr */
+ { AS(linux_flistxattr_args), (sy_call_t *)linux_flistxattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 234 = linux_flistxattr */
+ { AS(linux_removexattr_args), (sy_call_t *)linux_removexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 235 = linux_removexattr */
+ { AS(linux_lremovexattr_args), (sy_call_t *)linux_lremovexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 236 = linux_lremovexattr */
+ { AS(linux_fremovexattr_args), (sy_call_t *)linux_fremovexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 237 = linux_fremovexattr */
{ AS(linux_tkill_args), (sy_call_t *)linux_tkill, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 238 = linux_tkill */
{ AS(linux_sendfile64_args), (sy_call_t *)linux_sendfile64, AUE_SENDFILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 239 = linux_sendfile64 */
{ AS(linux_sys_futex_args), (sy_call_t *)linux_sys_futex, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 240 = linux_sys_futex */
diff --git a/sys/i386/linux/linux_systrace_args.c b/sys/i386/linux/linux_systrace_args.c
index c9f994cca1fe..fb79951eb98d 100644
--- a/sys/i386/linux/linux_systrace_args.c
+++ b/sys/i386/linux/linux_systrace_args.c
@@ -1598,62 +1598,116 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
}
/* linux_setxattr */
case 226: {
- *n_args = 0;
+ struct linux_setxattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ uarg[2] = (intptr_t) p->value; /* const char * */
+ iarg[3] = p->size; /* l_size_t */
+ iarg[4] = p->flags; /* l_int */
+ *n_args = 5;
break;
}
/* linux_lsetxattr */
case 227: {
- *n_args = 0;
+ struct linux_lsetxattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ uarg[2] = (intptr_t) p->value; /* const char * */
+ iarg[3] = p->size; /* l_size_t */
+ iarg[4] = p->flags; /* l_int */
+ *n_args = 5;
break;
}
/* linux_fsetxattr */
case 228: {
- *n_args = 0;
+ struct linux_fsetxattr_args *p = params;
+ iarg[0] = p->fd; /* l_int */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ uarg[2] = (intptr_t) p->value; /* const char * */
+ iarg[3] = p->size; /* l_size_t */
+ iarg[4] = p->flags; /* l_int */
+ *n_args = 5;
break;
}
/* linux_getxattr */
case 229: {
- *n_args = 0;
+ struct linux_getxattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ uarg[2] = (intptr_t) p->value; /* char * */
+ iarg[3] = p->size; /* l_size_t */
+ *n_args = 4;
break;
}
/* linux_lgetxattr */
case 230: {
- *n_args = 0;
+ struct linux_lgetxattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ uarg[2] = (intptr_t) p->value; /* char * */
+ iarg[3] = p->size; /* l_size_t */
+ *n_args = 4;
break;
}
/* linux_fgetxattr */
case 231: {
- *n_args = 0;
+ struct linux_fgetxattr_args *p = params;
+ iarg[0] = p->fd; /* l_int */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ uarg[2] = (intptr_t) p->value; /* char * */
+ iarg[3] = p->size; /* l_size_t */
+ *n_args = 4;
break;
}
/* linux_listxattr */
case 232: {
- *n_args = 0;
+ struct linux_listxattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->list; /* const char * */
+ iarg[2] = p->size; /* l_size_t */
+ *n_args = 3;
break;
}
/* linux_llistxattr */
case 233: {
- *n_args = 0;
+ struct linux_llistxattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->list; /* const char * */
+ iarg[2] = p->size; /* l_size_t */
+ *n_args = 3;
break;
}
/* linux_flistxattr */
case 234: {
- *n_args = 0;
+ struct linux_flistxattr_args *p = params;
+ iarg[0] = p->fd; /* l_int */
+ uarg[1] = (intptr_t) p->list; /* const char * */
+ iarg[2] = p->size; /* l_size_t */
+ *n_args = 3;
break;
}
/* linux_removexattr */
case 235: {
- *n_args = 0;
+ struct linux_removexattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ *n_args = 2;
break;
}
/* linux_lremovexattr */
case 236: {
- *n_args = 0;
+ struct linux_lremovexattr_args *p = params;
+ uarg[0] = (intptr_t) p->path; /* const char * */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ *n_args = 2;
break;
}
/* linux_fremovexattr */
case 237: {
- *n_args = 0;
+ struct linux_fremovexattr_args *p = params;
+ iarg[0] = p->fd; /* l_int */
+ uarg[1] = (intptr_t) p->name; /* const char * */
+ *n_args = 2;
break;
}
/* linux_tkill */
@@ -1918,8 +1972,8 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
case 277: {
struct linux_mq_open_args *p = params;
uarg[0] = (intptr_t) p->name; /* const char * */
- iarg[1] = p->oflag; /* int */
- iarg[2] = p->mode; /* mode_t */
+ iarg[1] = p->oflag; /* l_int */
+ iarg[2] = p->mode; /* l_mode_t */
uarg[3] = (intptr_t) p->attr; /* struct mq_attr * */
*n_args = 4;
break;
@@ -1936,8 +1990,8 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
struct linux_mq_timedsend_args *p = params;
iarg[0] = p->mqd; /* l_mqd_t */
uarg[1] = (intptr_t) p->msg_ptr; /* const char * */
- uarg[2] = p->msg_len; /* size_t */
- uarg[3] = p->msg_prio; /* unsigned int */
+ iarg[2] = p->msg_len; /* l_size_t */
+ iarg[3] = p->msg_prio; /* l_uint */
uarg[4] = (intptr_t) p->abs_timeout; /* const struct l_timespec * */
*n_args = 5;
break;
@@ -1947,8 +2001,8 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
struct linux_mq_timedreceive_args *p = params;
iarg[0] = p->mqd; /* l_mqd_t */
uarg[1] = (intptr_t) p->msg_ptr; /* char * */
- uarg[2] = p->msg_len; /* size_t */
- uarg[3] = p->msg_prio; /* unsigned int */
+ iarg[2] = p->msg_len; /* l_size_t */
+ uarg[3] = (intptr_t) p->msg_prio; /* l_uint * */
uarg[4] = (intptr_t) p->abs_timeout; /* const struct l_timespec * */
*n_args = 5;
break;
@@ -5530,39 +5584,213 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_setxattr */
case 226:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "userland const char *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ case 4:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
break;
/* linux_lsetxattr */
case 227:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "userland const char *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ case 4:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
break;
/* linux_fsetxattr */
case 228:
+ 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 = "l_size_t";
+ break;
+ case 4:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
break;
/* linux_getxattr */
case 229:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "userland char *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_lgetxattr */
case 230:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "userland char *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_fgetxattr */
case 231:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "userland char *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_listxattr */
case 232:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_llistxattr */
case 233:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_flistxattr */
case 234:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_removexattr */
case 235:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_lremovexattr */
case 236:
+ switch(ndx) {
+ case 0:
+ p = "userland const char *";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_fremovexattr */
case 237:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_tkill */
case 238:
@@ -5988,10 +6216,10 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "userland const char *";
break;
case 1:
- p = "int";
+ p = "l_int";
break;
case 2:
- p = "mode_t";
+ p = "l_mode_t";
break;
case 3:
p = "userland struct mq_attr *";
@@ -6020,10 +6248,10 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "userland const char *";
break;
case 2:
- p = "size_t";
+ p = "l_size_t";
break;
case 3:
- p = "unsigned int";
+ p = "l_uint";
break;
case 4:
p = "userland const struct l_timespec *";
@@ -6042,10 +6270,10 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "userland char *";
break;
case 2:
- p = "size_t";
+ p = "l_size_t";
break;
case 3:
- p = "unsigned int";
+ p = "userland l_uint *";
break;
case 4:
p = "userland const struct l_timespec *";
@@ -8715,28 +8943,64 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 224:
/* linux_setxattr */
case 226:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_lsetxattr */
case 227:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_fsetxattr */
case 228:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_getxattr */
case 229:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_lgetxattr */
case 230:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_fgetxattr */
case 231:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_listxattr */
case 232:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_llistxattr */
case 233:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_flistxattr */
case 234:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_removexattr */
case 235:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_lremovexattr */
case 236:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_fremovexattr */
case 237:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_tkill */
case 238:
if (ndx == 0 || ndx == 1)