aboutsummaryrefslogtreecommitdiff
path: root/sys/i386/linux
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/i386/linux
parent308e194cbf6dddd38c87e8fef265910965dff37d (diff)
Notes
Diffstat (limited to 'sys/i386/linux')
-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
3 files changed, 348 insertions, 54 deletions
diff --git a/sys/i386/linux/linux_proto.h b/sys/i386/linux/linux_proto.h
index eb56fcd7a4d70..ae69e02b09854 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 e1bb92b3ba522..54ac4939f3b1e 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 c9f994cca1fe3..fb79951eb98da 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)