Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 1 Sep 2020 12:11:59 +0000 (UTC)
From:      Edward Tomasz Napierala <trasz@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r365035 - in stable/12/sys: amd64/linux amd64/linux32 arm64/linux i386/linux
Message-ID:  <202009011211.081CBxFd081068@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: trasz
Date: Tue Sep  1 12:11:59 2020
New Revision: 365035
URL: https://svnweb.freebsd.org/changeset/base/365035

Log:
  MFC r363305:
  
  Regen after r363304.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  stable/12/sys/amd64/linux/linux_proto.h
  stable/12/sys/amd64/linux/linux_sysent.c
  stable/12/sys/amd64/linux/linux_systrace_args.c
  stable/12/sys/amd64/linux32/linux32_proto.h
  stable/12/sys/amd64/linux32/linux32_sysent.c
  stable/12/sys/amd64/linux32/linux32_systrace_args.c
  stable/12/sys/arm64/linux/linux_proto.h
  stable/12/sys/arm64/linux/linux_sysent.c
  stable/12/sys/arm64/linux/linux_systrace_args.c
  stable/12/sys/i386/linux/linux_proto.h
  stable/12/sys/i386/linux/linux_sysent.c
  stable/12/sys/i386/linux/linux_systrace_args.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/amd64/linux/linux_proto.h
==============================================================================
--- stable/12/sys/amd64/linux/linux_proto.h	Tue Sep  1 12:09:13 2020	(r365034)
+++ stable/12/sys/amd64/linux/linux_proto.h	Tue Sep  1 12:11:59 2020	(r365035)
@@ -966,7 +966,12 @@ struct linux_get_robust_list_args {
 	char len_l_[PADL_(l_size_t *)]; l_size_t * len; char len_r_[PADR_(l_size_t *)];
 };
 struct linux_splice_args {
-	register_t dummy;
+	char fd_in_l_[PADL_(int)]; int fd_in; char fd_in_r_[PADR_(int)];
+	char off_in_l_[PADL_(l_loff_t *)]; l_loff_t * off_in; char off_in_r_[PADR_(l_loff_t *)];
+	char fd_out_l_[PADL_(int)]; int fd_out; char fd_out_r_[PADR_(int)];
+	char off_out_l_[PADL_(l_loff_t *)]; l_loff_t * off_out; char off_out_r_[PADR_(l_loff_t *)];
+	char len_l_[PADL_(l_size_t)]; l_size_t len; char len_r_[PADR_(l_size_t)];
+	char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)];
 };
 struct linux_tee_args {
 	register_t dummy;

Modified: stable/12/sys/amd64/linux/linux_sysent.c
==============================================================================
--- stable/12/sys/amd64/linux/linux_sysent.c	Tue Sep  1 12:09:13 2020	(r365034)
+++ stable/12/sys/amd64/linux/linux_sysent.c	Tue Sep  1 12:11:59 2020	(r365035)
@@ -292,7 +292,7 @@ struct sysent linux_sysent[] = {
 	{ 0, (sy_call_t *)linux_unshare, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },	/* 272 = linux_unshare */
 	{ AS(linux_set_robust_list_args), (sy_call_t *)linux_set_robust_list, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },	/* 273 = 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 },	/* 274 = linux_get_robust_list */
-	{ 0, (sy_call_t *)linux_splice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },	/* 275 = linux_splice */
+	{ AS(linux_splice_args), (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 */
 	{ 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 */

Modified: stable/12/sys/amd64/linux/linux_systrace_args.c
==============================================================================
--- stable/12/sys/amd64/linux/linux_systrace_args.c	Tue Sep  1 12:09:13 2020	(r365034)
+++ stable/12/sys/amd64/linux/linux_systrace_args.c	Tue Sep  1 12:11:59 2020	(r365035)
@@ -2012,7 +2012,14 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
 	}
 	/* linux_splice */
 	case 275: {
-		*n_args = 0;
+		struct linux_splice_args *p = params;
+		iarg[0] = p->fd_in; /* int */
+		uarg[1] = (intptr_t) p->off_in; /* l_loff_t * */
+		iarg[2] = p->fd_out; /* int */
+		uarg[3] = (intptr_t) p->off_out; /* l_loff_t * */
+		iarg[4] = p->len; /* l_size_t */
+		iarg[5] = p->flags; /* l_uint */
+		*n_args = 6;
 		break;
 	}
 	/* linux_tee */
@@ -5624,6 +5631,28 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 		break;
 	/* linux_splice */
 	case 275:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "userland l_loff_t *";
+			break;
+		case 2:
+			p = "int";
+			break;
+		case 3:
+			p = "userland l_loff_t *";
+			break;
+		case 4:
+			p = "l_size_t";
+			break;
+		case 5:
+			p = "l_uint";
+			break;
+		default:
+			break;
+		};
 		break;
 	/* linux_tee */
 	case 276:
@@ -7616,6 +7645,9 @@ systrace_return_setargdesc(int sysnum, int ndx, char *
 		break;
 	/* linux_splice */
 	case 275:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_tee */
 	case 276:
 	/* linux_sync_file_range */

Modified: stable/12/sys/amd64/linux32/linux32_proto.h
==============================================================================
--- stable/12/sys/amd64/linux32/linux32_proto.h	Tue Sep  1 12:09:13 2020	(r365034)
+++ stable/12/sys/amd64/linux32/linux32_proto.h	Tue Sep  1 12:11:59 2020	(r365035)
@@ -1029,7 +1029,12 @@ struct linux_get_robust_list_args {
 	char len_l_[PADL_(l_size_t *)]; l_size_t * len; char len_r_[PADR_(l_size_t *)];
 };
 struct linux_splice_args {
-	register_t dummy;
+	char fd_in_l_[PADL_(int)]; int fd_in; char fd_in_r_[PADR_(int)];
+	char off_in_l_[PADL_(l_loff_t *)]; l_loff_t * off_in; char off_in_r_[PADR_(l_loff_t *)];
+	char fd_out_l_[PADL_(int)]; int fd_out; char fd_out_r_[PADR_(int)];
+	char off_out_l_[PADL_(l_loff_t *)]; l_loff_t * off_out; char off_out_r_[PADR_(l_loff_t *)];
+	char len_l_[PADL_(l_size_t)]; l_size_t len; char len_r_[PADR_(l_size_t)];
+	char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)];
 };
 struct linux_sync_file_range_args {
 	char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];

Modified: stable/12/sys/amd64/linux32/linux32_sysent.c
==============================================================================
--- stable/12/sys/amd64/linux32/linux32_sysent.c	Tue Sep  1 12:09:13 2020	(r365034)
+++ stable/12/sys/amd64/linux32/linux32_sysent.c	Tue Sep  1 12:11:59 2020	(r365035)
@@ -330,7 +330,7 @@ struct sysent linux32_sysent[] = {
 	{ 0, (sy_call_t *)linux_unshare, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },	/* 310 = linux_unshare */
 	{ 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 */
+	{ AS(linux_splice_args), (sy_call_t *)linux_splice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },	/* 313 = linux_splice */
 	{ 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 */

Modified: stable/12/sys/amd64/linux32/linux32_systrace_args.c
==============================================================================
--- stable/12/sys/amd64/linux32/linux32_systrace_args.c	Tue Sep  1 12:09:13 2020	(r365034)
+++ stable/12/sys/amd64/linux32/linux32_systrace_args.c	Tue Sep  1 12:11:59 2020	(r365035)
@@ -2120,7 +2120,14 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
 	}
 	/* linux_splice */
 	case 313: {
-		*n_args = 0;
+		struct linux_splice_args *p = params;
+		iarg[0] = p->fd_in; /* int */
+		uarg[1] = (intptr_t) p->off_in; /* l_loff_t * */
+		iarg[2] = p->fd_out; /* int */
+		uarg[3] = (intptr_t) p->off_out; /* l_loff_t * */
+		iarg[4] = p->len; /* l_size_t */
+		iarg[5] = p->flags; /* l_uint */
+		*n_args = 6;
 		break;
 	}
 	/* linux_sync_file_range */
@@ -6202,6 +6209,28 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 		break;
 	/* linux_splice */
 	case 313:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "userland l_loff_t *";
+			break;
+		case 2:
+			p = "int";
+			break;
+		case 3:
+			p = "userland l_loff_t *";
+			break;
+		case 4:
+			p = "l_size_t";
+			break;
+		case 5:
+			p = "l_uint";
+			break;
+		default:
+			break;
+		};
 		break;
 	/* linux_sync_file_range */
 	case 314:
@@ -8734,6 +8763,9 @@ systrace_return_setargdesc(int sysnum, int ndx, char *
 		break;
 	/* linux_splice */
 	case 313:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_sync_file_range */
 	case 314:
 		if (ndx == 0 || ndx == 1)

Modified: stable/12/sys/arm64/linux/linux_proto.h
==============================================================================
--- stable/12/sys/arm64/linux/linux_proto.h	Tue Sep  1 12:09:13 2020	(r365034)
+++ stable/12/sys/arm64/linux/linux_proto.h	Tue Sep  1 12:11:59 2020	(r365035)
@@ -292,7 +292,12 @@ struct linux_vmsplice_args {
 	register_t dummy;
 };
 struct linux_splice_args {
-	register_t dummy;
+	char fd_in_l_[PADL_(int)]; int fd_in; char fd_in_r_[PADR_(int)];
+	char off_in_l_[PADL_(l_loff_t *)]; l_loff_t * off_in; char off_in_r_[PADR_(l_loff_t *)];
+	char fd_out_l_[PADL_(int)]; int fd_out; char fd_out_r_[PADR_(int)];
+	char off_out_l_[PADL_(l_loff_t *)]; l_loff_t * off_out; char off_out_r_[PADR_(l_loff_t *)];
+	char len_l_[PADL_(l_size_t)]; l_size_t len; char len_r_[PADR_(l_size_t)];
+	char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)];
 };
 struct linux_tee_args {
 	register_t dummy;

Modified: stable/12/sys/arm64/linux/linux_sysent.c
==============================================================================
--- stable/12/sys/arm64/linux/linux_sysent.c	Tue Sep  1 12:09:13 2020	(r365034)
+++ stable/12/sys/arm64/linux/linux_sysent.c	Tue Sep  1 12:11:59 2020	(r365035)
@@ -93,7 +93,7 @@ struct sysent linux_sysent[] = {
 	{ AS(linux_ppoll_args), (sy_call_t *)linux_ppoll, AUE_POLL, NULL, 0, 0, 0, SY_THR_STATIC },	/* 73 = linux_ppoll */
 	{ 0, (sy_call_t *)linux_signalfd4, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },	/* 74 = linux_signalfd4 */
 	{ 0, (sy_call_t *)linux_vmsplice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },	/* 75 = linux_vmsplice */
-	{ 0, (sy_call_t *)linux_splice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },	/* 76 = linux_splice */
+	{ AS(linux_splice_args), (sy_call_t *)linux_splice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },	/* 76 = linux_splice */
 	{ 0, (sy_call_t *)linux_tee, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },		/* 77 = linux_tee */
 	{ AS(linux_readlinkat_args), (sy_call_t *)linux_readlinkat, AUE_READLINKAT, NULL, 0, 0, 0, SY_THR_STATIC },	/* 78 = linux_readlinkat */
 	{ AS(linux_newfstatat_args), (sy_call_t *)linux_newfstatat, AUE_FSTATAT, NULL, 0, 0, 0, SY_THR_STATIC },	/* 79 = linux_newfstatat */

Modified: stable/12/sys/arm64/linux/linux_systrace_args.c
==============================================================================
--- stable/12/sys/arm64/linux/linux_systrace_args.c	Tue Sep  1 12:09:13 2020	(r365034)
+++ stable/12/sys/arm64/linux/linux_systrace_args.c	Tue Sep  1 12:11:59 2020	(r365035)
@@ -545,7 +545,14 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
 	}
 	/* linux_splice */
 	case 76: {
-		*n_args = 0;
+		struct linux_splice_args *p = params;
+		iarg[0] = p->fd_in; /* int */
+		uarg[1] = (intptr_t) p->off_in; /* l_loff_t * */
+		iarg[2] = p->fd_out; /* int */
+		uarg[3] = (intptr_t) p->off_out; /* l_loff_t * */
+		iarg[4] = p->len; /* l_size_t */
+		iarg[5] = p->flags; /* l_uint */
+		*n_args = 6;
 		break;
 	}
 	/* linux_tee */
@@ -2953,6 +2960,28 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 		break;
 	/* linux_splice */
 	case 76:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "userland l_loff_t *";
+			break;
+		case 2:
+			p = "int";
+			break;
+		case 3:
+			p = "userland l_loff_t *";
+			break;
+		case 4:
+			p = "l_size_t";
+			break;
+		case 5:
+			p = "l_uint";
+			break;
+		default:
+			break;
+		};
 		break;
 	/* linux_tee */
 	case 77:
@@ -5765,6 +5794,9 @@ systrace_return_setargdesc(int sysnum, int ndx, char *
 	case 75:
 	/* linux_splice */
 	case 76:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_tee */
 	case 77:
 	/* linux_readlinkat */

Modified: stable/12/sys/i386/linux/linux_proto.h
==============================================================================
--- stable/12/sys/i386/linux/linux_proto.h	Tue Sep  1 12:09:13 2020	(r365034)
+++ stable/12/sys/i386/linux/linux_proto.h	Tue Sep  1 12:11:59 2020	(r365035)
@@ -1040,7 +1040,12 @@ struct linux_get_robust_list_args {
 	char len_l_[PADL_(l_size_t *)]; l_size_t * len; char len_r_[PADR_(l_size_t *)];
 };
 struct linux_splice_args {
-	register_t dummy;
+	char fd_in_l_[PADL_(int)]; int fd_in; char fd_in_r_[PADR_(int)];
+	char off_in_l_[PADL_(l_loff_t *)]; l_loff_t * off_in; char off_in_r_[PADR_(l_loff_t *)];
+	char fd_out_l_[PADL_(int)]; int fd_out; char fd_out_r_[PADR_(int)];
+	char off_out_l_[PADL_(l_loff_t *)]; l_loff_t * off_out; char off_out_r_[PADR_(l_loff_t *)];
+	char len_l_[PADL_(l_size_t)]; l_size_t len; char len_r_[PADR_(l_size_t)];
+	char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)];
 };
 struct linux_sync_file_range_args {
 	char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];

Modified: stable/12/sys/i386/linux/linux_sysent.c
==============================================================================
--- stable/12/sys/i386/linux/linux_sysent.c	Tue Sep  1 12:09:13 2020	(r365034)
+++ stable/12/sys/i386/linux/linux_sysent.c	Tue Sep  1 12:11:59 2020	(r365035)
@@ -330,7 +330,7 @@ struct sysent linux_sysent[] = {
 	{ 0, (sy_call_t *)linux_unshare, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },	/* 310 = linux_unshare */
 	{ 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 */
+	{ AS(linux_splice_args), (sy_call_t *)linux_splice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },	/* 313 = linux_splice */
 	{ 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 */

Modified: stable/12/sys/i386/linux/linux_systrace_args.c
==============================================================================
--- stable/12/sys/i386/linux/linux_systrace_args.c	Tue Sep  1 12:09:13 2020	(r365034)
+++ stable/12/sys/i386/linux/linux_systrace_args.c	Tue Sep  1 12:11:59 2020	(r365035)
@@ -2189,7 +2189,14 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
 	}
 	/* linux_splice */
 	case 313: {
-		*n_args = 0;
+		struct linux_splice_args *p = params;
+		iarg[0] = p->fd_in; /* int */
+		uarg[1] = (intptr_t) p->off_in; /* l_loff_t * */
+		iarg[2] = p->fd_out; /* int */
+		uarg[3] = (intptr_t) p->off_out; /* l_loff_t * */
+		iarg[4] = p->len; /* l_size_t */
+		iarg[5] = p->flags; /* l_uint */
+		*n_args = 6;
 		break;
 	}
 	/* linux_sync_file_range */
@@ -6401,6 +6408,28 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 		break;
 	/* linux_splice */
 	case 313:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "userland l_loff_t *";
+			break;
+		case 2:
+			p = "int";
+			break;
+		case 3:
+			p = "userland l_loff_t *";
+			break;
+		case 4:
+			p = "l_size_t";
+			break;
+		case 5:
+			p = "l_uint";
+			break;
+		default:
+			break;
+		};
 		break;
 	/* linux_sync_file_range */
 	case 314:
@@ -8968,6 +8997,9 @@ systrace_return_setargdesc(int sysnum, int ndx, char *
 		break;
 	/* linux_splice */
 	case 313:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_sync_file_range */
 	case 314:
 		if (ndx == 0 || ndx == 1)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202009011211.081CBxFd081068>