aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/amd64/linux/linux_proto.h5
-rw-r--r--sys/amd64/linux/linux_sysent.c2
-rw-r--r--sys/amd64/linux/linux_systrace_args.c26
-rw-r--r--sys/amd64/linux32/linux32_proto.h5
-rw-r--r--sys/amd64/linux32/linux32_sysent.c2
-rw-r--r--sys/amd64/linux32/linux32_systrace_args.c26
-rw-r--r--sys/arm/linux/linux_proto.h5
-rw-r--r--sys/arm/linux/linux_sysent.c2
-rw-r--r--sys/arm/linux/linux_systrace_args.c26
-rw-r--r--sys/arm64/linux/linux_proto.h5
-rw-r--r--sys/arm64/linux/linux_sysent.c2
-rw-r--r--sys/arm64/linux/linux_systrace_args.c26
-rw-r--r--sys/i386/linux/linux_proto.h5
-rw-r--r--sys/i386/linux/linux_sysent.c2
-rw-r--r--sys/i386/linux/linux_systrace_args.c26
15 files changed, 150 insertions, 15 deletions
diff --git a/sys/amd64/linux/linux_proto.h b/sys/amd64/linux/linux_proto.h
index de89ce271c5e..938edfe276fb 100644
--- a/sys/amd64/linux/linux_proto.h
+++ b/sys/amd64/linux/linux_proto.h
@@ -940,7 +940,10 @@ struct linux_tee_args {
register_t dummy;
};
struct linux_sync_file_range_args {
- register_t dummy;
+ 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)];
};
struct linux_vmsplice_args {
register_t dummy;
diff --git a/sys/amd64/linux/linux_sysent.c b/sys/amd64/linux/linux_sysent.c
index 7a156cc4b5ef..4d08d69363af 100644
--- a/sys/amd64/linux/linux_sysent.c
+++ b/sys/amd64/linux/linux_sysent.c
@@ -294,7 +294,7 @@ struct sysent linux_sysent[] = {
{ AS(linux_get_robust_list_args), (sy_call_t *)linux_get_robust_list, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 274 = linux_get_robust_list */
{ 0, (sy_call_t *)linux_splice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 275 = linux_splice */
{ 0, (sy_call_t *)linux_tee, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 276 = linux_tee */
- { 0, (sy_call_t *)linux_sync_file_range, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 277 = linux_sync_file_range */
+ { AS(linux_sync_file_range_args), (sy_call_t *)linux_sync_file_range, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 277 = linux_sync_file_range */
{ 0, (sy_call_t *)linux_vmsplice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 278 = linux_vmsplice */
{ 0, (sy_call_t *)linux_move_pages, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 279 = linux_move_pages */
{ AS(linux_utimensat_args), (sy_call_t *)linux_utimensat, AUE_FUTIMESAT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 280 = linux_utimensat */
diff --git a/sys/amd64/linux/linux_systrace_args.c b/sys/amd64/linux/linux_systrace_args.c
index afed6de0e6f4..5d7afd1f47db 100644
--- a/sys/amd64/linux/linux_systrace_args.c
+++ b/sys/amd64/linux/linux_systrace_args.c
@@ -1977,7 +1977,12 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
}
/* linux_sync_file_range */
case 277: {
- *n_args = 0;
+ struct linux_sync_file_range_args *p = params;
+ 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 */
+ *n_args = 4;
break;
}
/* linux_vmsplice */
@@ -5553,6 +5558,22 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_sync_file_range */
case 277:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_loff_t";
+ break;
+ case 2:
+ p = "l_loff_t";
+ break;
+ case 3:
+ p = "unsigned int";
+ break;
+ default:
+ break;
+ };
break;
/* linux_vmsplice */
case 278:
@@ -7509,6 +7530,9 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 276:
/* linux_sync_file_range */
case 277:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_vmsplice */
case 278:
/* linux_move_pages */
diff --git a/sys/amd64/linux32/linux32_proto.h b/sys/amd64/linux32/linux32_proto.h
index 21ad0cb51e07..de6589f985f6 100644
--- a/sys/amd64/linux32/linux32_proto.h
+++ b/sys/amd64/linux32/linux32_proto.h
@@ -1020,7 +1020,10 @@ struct linux_splice_args {
register_t dummy;
};
struct linux_sync_file_range_args {
- register_t dummy;
+ 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)];
};
struct linux_tee_args {
register_t dummy;
diff --git a/sys/amd64/linux32/linux32_sysent.c b/sys/amd64/linux32/linux32_sysent.c
index 486921c7899c..4e176c084708 100644
--- a/sys/amd64/linux32/linux32_sysent.c
+++ b/sys/amd64/linux32/linux32_sysent.c
@@ -331,7 +331,7 @@ struct sysent linux32_sysent[] = {
{ AS(linux_set_robust_list_args), (sy_call_t *)linux_set_robust_list, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 311 = linux_set_robust_list */
{ AS(linux_get_robust_list_args), (sy_call_t *)linux_get_robust_list, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 312 = linux_get_robust_list */
{ 0, (sy_call_t *)linux_splice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 313 = linux_splice */
- { 0, (sy_call_t *)linux_sync_file_range, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 314 = linux_sync_file_range */
+ { AS(linux_sync_file_range_args), (sy_call_t *)linux_sync_file_range, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 314 = linux_sync_file_range */
{ 0, (sy_call_t *)linux_tee, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 315 = linux_tee */
{ 0, (sy_call_t *)linux_vmsplice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 316 = linux_vmsplice */
{ 0, (sy_call_t *)linux_move_pages, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 317 = linux_move_pages */
diff --git a/sys/amd64/linux32/linux32_systrace_args.c b/sys/amd64/linux32/linux32_systrace_args.c
index 71f35a557036..e2fdeef45f72 100644
--- a/sys/amd64/linux32/linux32_systrace_args.c
+++ b/sys/amd64/linux32/linux32_systrace_args.c
@@ -2118,7 +2118,12 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
}
/* linux_sync_file_range */
case 314: {
- *n_args = 0;
+ struct linux_sync_file_range_args *p = params;
+ 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 */
+ *n_args = 4;
break;
}
/* linux_tee */
@@ -6164,6 +6169,22 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_sync_file_range */
case 314:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_loff_t";
+ break;
+ case 2:
+ p = "l_loff_t";
+ break;
+ case 3:
+ p = "unsigned int";
+ break;
+ default:
+ break;
+ };
break;
/* linux_tee */
case 315:
@@ -8654,6 +8675,9 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 313:
/* linux_sync_file_range */
case 314:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_tee */
case 315:
/* linux_vmsplice */
diff --git a/sys/arm/linux/linux_proto.h b/sys/arm/linux/linux_proto.h
index 10905e81217a..2e8833a17ffa 100644
--- a/sys/arm/linux/linux_proto.h
+++ b/sys/arm/linux/linux_proto.h
@@ -1076,7 +1076,10 @@ struct linux_splice_args {
register_t dummy;
};
struct linux_sync_file_range_args {
- register_t dummy;
+ 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)];
};
struct linux_tee_args {
register_t dummy;
diff --git a/sys/arm/linux/linux_sysent.c b/sys/arm/linux/linux_sysent.c
index 642c907c2517..ee1c3b974516 100644
--- a/sys/arm/linux/linux_sysent.c
+++ b/sys/arm/linux/linux_sysent.c
@@ -358,7 +358,7 @@ struct sysent linux_sysent[] = {
{ AS(linux_set_robust_list_args), (sy_call_t *)linux_set_robust_list, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 338 = linux_set_robust_list */
{ AS(linux_get_robust_list_args), (sy_call_t *)linux_get_robust_list, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 339 = linux_get_robust_list */
{ 0, (sy_call_t *)linux_splice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 340 = linux_splice */
- { 0, (sy_call_t *)linux_sync_file_range, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 341 = linux_sync_file_range */
+ { AS(linux_sync_file_range_args), (sy_call_t *)linux_sync_file_range, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 341 = linux_sync_file_range */
{ 0, (sy_call_t *)linux_tee, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 342 = linux_tee */
{ 0, (sy_call_t *)linux_vmsplice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 343 = linux_vmsplice */
{ 0, (sy_call_t *)linux_move_pages, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 344 = linux_move_pages */
diff --git a/sys/arm/linux/linux_systrace_args.c b/sys/arm/linux/linux_systrace_args.c
index 10519044d71f..fe45f2db45e1 100644
--- a/sys/arm/linux/linux_systrace_args.c
+++ b/sys/arm/linux/linux_systrace_args.c
@@ -2224,7 +2224,12 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
}
/* linux_sync_file_range */
case 341: {
- *n_args = 0;
+ struct linux_sync_file_range_args *p = params;
+ 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 */
+ *n_args = 4;
break;
}
/* linux_tee */
@@ -5975,6 +5980,22 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_sync_file_range */
case 341:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_loff_t";
+ break;
+ case 2:
+ p = "l_loff_t";
+ break;
+ case 3:
+ p = "unsigned int";
+ break;
+ default:
+ break;
+ };
break;
/* linux_tee */
case 342:
@@ -7515,6 +7536,9 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 340:
/* linux_sync_file_range */
case 341:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_tee */
case 342:
/* linux_vmsplice */
diff --git a/sys/arm64/linux/linux_proto.h b/sys/arm64/linux/linux_proto.h
index c8d4fc353335..ab56bd70ecf1 100644
--- a/sys/arm64/linux/linux_proto.h
+++ b/sys/arm64/linux/linux_proto.h
@@ -317,7 +317,10 @@ struct linux_fdatasync_args {
char fd_l_[PADL_(l_uint)]; l_uint fd; char fd_r_[PADR_(l_uint)];
};
struct linux_sync_file_range_args {
- register_t dummy;
+ 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)];
};
struct linux_timerfd_create_args {
char clockid_l_[PADL_(l_int)]; l_int clockid; char clockid_r_[PADR_(l_int)];
diff --git a/sys/arm64/linux/linux_sysent.c b/sys/arm64/linux/linux_sysent.c
index 9fb1fea603a4..f8475fe3da44 100644
--- a/sys/arm64/linux/linux_sysent.c
+++ b/sys/arm64/linux/linux_sysent.c
@@ -101,7 +101,7 @@ struct sysent linux_sysent[] = {
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 81 = linux_sync */
{ AS(fsync_args), (sy_call_t *)sys_fsync, AUE_FSYNC, NULL, 0, 0, 0, SY_THR_STATIC }, /* 82 = fsync */
{ AS(linux_fdatasync_args), (sy_call_t *)linux_fdatasync, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 83 = linux_fdatasync */
- { 0, (sy_call_t *)linux_sync_file_range, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 84 = linux_sync_file_range */
+ { AS(linux_sync_file_range_args), (sy_call_t *)linux_sync_file_range, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 84 = linux_sync_file_range */
{ AS(linux_timerfd_create_args), (sy_call_t *)linux_timerfd_create, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 85 = linux_timerfd_create */
{ AS(linux_timerfd_settime_args), (sy_call_t *)linux_timerfd_settime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 86 = linux_timerfd_settime */
{ AS(linux_timerfd_gettime_args), (sy_call_t *)linux_timerfd_gettime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 87 = linux_timerfd_gettime */
diff --git a/sys/arm64/linux/linux_systrace_args.c b/sys/arm64/linux/linux_systrace_args.c
index b7a916611a71..f13ceb96008f 100644
--- a/sys/arm64/linux/linux_systrace_args.c
+++ b/sys/arm64/linux/linux_systrace_args.c
@@ -597,7 +597,12 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
}
/* linux_sync_file_range */
case 84: {
- *n_args = 0;
+ struct linux_sync_file_range_args *p = params;
+ 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 */
+ *n_args = 4;
break;
}
/* linux_timerfd_create */
@@ -3025,6 +3030,22 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_sync_file_range */
case 84:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_loff_t";
+ break;
+ case 2:
+ p = "l_loff_t";
+ break;
+ case 3:
+ p = "unsigned int";
+ break;
+ default:
+ break;
+ };
break;
/* linux_timerfd_create */
case 85:
@@ -5773,6 +5794,9 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_sync_file_range */
case 84:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_timerfd_create */
case 85:
if (ndx == 0 || ndx == 1)
diff --git a/sys/i386/linux/linux_proto.h b/sys/i386/linux/linux_proto.h
index 710b27353c3e..4d98d6387a51 100644
--- a/sys/i386/linux/linux_proto.h
+++ b/sys/i386/linux/linux_proto.h
@@ -1038,7 +1038,10 @@ struct linux_splice_args {
register_t dummy;
};
struct linux_sync_file_range_args {
- register_t dummy;
+ 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)];
};
struct linux_tee_args {
register_t dummy;
diff --git a/sys/i386/linux/linux_sysent.c b/sys/i386/linux/linux_sysent.c
index c5319228bdd9..390456b2b5ca 100644
--- a/sys/i386/linux/linux_sysent.c
+++ b/sys/i386/linux/linux_sysent.c
@@ -331,7 +331,7 @@ struct sysent linux_sysent[] = {
{ AS(linux_set_robust_list_args), (sy_call_t *)linux_set_robust_list, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 311 = linux_set_robust_list */
{ AS(linux_get_robust_list_args), (sy_call_t *)linux_get_robust_list, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 312 = linux_get_robust_list */
{ 0, (sy_call_t *)linux_splice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 313 = linux_splice */
- { 0, (sy_call_t *)linux_sync_file_range, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 314 = linux_sync_file_range */
+ { AS(linux_sync_file_range_args), (sy_call_t *)linux_sync_file_range, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 314 = linux_sync_file_range */
{ 0, (sy_call_t *)linux_tee, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 315 = linux_tee */
{ 0, (sy_call_t *)linux_vmsplice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 316 = linux_vmsplice */
{ 0, (sy_call_t *)linux_move_pages, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 317 = linux_move_pages */
diff --git a/sys/i386/linux/linux_systrace_args.c b/sys/i386/linux/linux_systrace_args.c
index 44ea6bca4e99..966f0c8383b3 100644
--- a/sys/i386/linux/linux_systrace_args.c
+++ b/sys/i386/linux/linux_systrace_args.c
@@ -2194,7 +2194,12 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
}
/* linux_sync_file_range */
case 314: {
- *n_args = 0;
+ struct linux_sync_file_range_args *p = params;
+ 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 */
+ *n_args = 4;
break;
}
/* linux_tee */
@@ -6395,6 +6400,22 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_sync_file_range */
case 314:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_loff_t";
+ break;
+ case 2:
+ p = "l_loff_t";
+ break;
+ case 3:
+ p = "unsigned int";
+ break;
+ default:
+ break;
+ };
break;
/* linux_tee */
case 315:
@@ -8932,6 +8953,9 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
case 313:
/* linux_sync_file_range */
case 314:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_tee */
case 315:
/* linux_vmsplice */