aboutsummaryrefslogtreecommitdiff
path: root/sys/arm64
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 /sys/arm64
parent308e194cbf6dddd38c87e8fef265910965dff37d (diff)
downloadsrc-a39cdcd7e7f94e0c508136f02188868a7dca934f.tar.gz
src-a39cdcd7e7f94e0c508136f02188868a7dca934f.zip
Regen.
MFC after: 2 weeks Sponsored by: The FreeBSD Foundation
Notes
Notes: svn path=/head/; revision=362693
Diffstat (limited to 'sys/arm64')
-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
3 files changed, 582 insertions, 146 deletions
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)