Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Nov 2020 19:53:59 +0000 (UTC)
From:      Conrad Meyer <cem@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r367774 - in head/sys: amd64/linux amd64/linux32 arm64/linux i386/linux
Message-ID:  <202011171953.0AHJrx29017430@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: cem
Date: Tue Nov 17 19:53:59 2020
New Revision: 367774
URL: https://svnweb.freebsd.org/changeset/base/367774

Log:
  'make sysent' for r367773
  
  X-MFC-With:	r367773

Modified:
  head/sys/amd64/linux/linux_proto.h
  head/sys/amd64/linux/linux_sysent.c
  head/sys/amd64/linux/linux_systrace_args.c
  head/sys/amd64/linux32/linux32_proto.h
  head/sys/amd64/linux32/linux32_sysent.c
  head/sys/amd64/linux32/linux32_systrace_args.c
  head/sys/arm64/linux/linux_proto.h
  head/sys/arm64/linux/linux_sysent.c
  head/sys/arm64/linux/linux_systrace_args.c
  head/sys/i386/linux/linux_proto.h
  head/sys/i386/linux/linux_sysent.c
  head/sys/i386/linux/linux_systrace_args.c

Modified: head/sys/amd64/linux/linux_proto.h
==============================================================================
--- head/sys/amd64/linux/linux_proto.h	Tue Nov 17 19:51:47 2020	(r367773)
+++ head/sys/amd64/linux/linux_proto.h	Tue Nov 17 19:53:59 2020	(r367774)
@@ -1143,10 +1143,16 @@ struct linux_prlimit64_args {
 	char old_l_[PADL_(struct rlimit *)]; struct rlimit * old; char old_r_[PADR_(struct rlimit *)];
 };
 struct linux_name_to_handle_at_args {
-	register_t dummy;
+	char dirfd_l_[PADL_(l_int)]; l_int dirfd; char dirfd_r_[PADR_(l_int)];
+	char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+	char handle_l_[PADL_(struct l_file_handle *)]; struct l_file_handle * handle; char handle_r_[PADR_(struct l_file_handle *)];
+	char mnt_id_l_[PADL_(l_int *)]; l_int * mnt_id; char mnt_id_r_[PADR_(l_int *)];
+	char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
 };
 struct linux_open_by_handle_at_args {
-	register_t dummy;
+	char mountdirfd_l_[PADL_(l_int)]; l_int mountdirfd; char mountdirfd_r_[PADR_(l_int)];
+	char handle_l_[PADL_(struct l_file_handle *)]; struct l_file_handle * handle; char handle_r_[PADR_(struct l_file_handle *)];
+	char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
 };
 struct linux_clock_adjtime_args {
 	register_t dummy;

Modified: head/sys/amd64/linux/linux_sysent.c
==============================================================================
--- head/sys/amd64/linux/linux_sysent.c	Tue Nov 17 19:51:47 2020	(r367773)
+++ head/sys/amd64/linux/linux_sysent.c	Tue Nov 17 19:53:59 2020	(r367774)
@@ -320,8 +320,8 @@ struct sysent linux_sysent[] = {
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_fanotify_init, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 300 = linux_fanotify_init */
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_fanotify_mark, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 301 = linux_fanotify_mark */
 	{ .sy_narg = AS(linux_prlimit64_args), .sy_call = (sy_call_t *)linux_prlimit64, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 302 = linux_prlimit64 */
-	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_name_to_handle_at, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 303 = linux_name_to_handle_at */
-	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_open_by_handle_at, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 304 = linux_open_by_handle_at */
+	{ .sy_narg = AS(linux_name_to_handle_at_args), .sy_call = (sy_call_t *)linux_name_to_handle_at, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 303 = linux_name_to_handle_at */
+	{ .sy_narg = AS(linux_open_by_handle_at_args), .sy_call = (sy_call_t *)linux_open_by_handle_at, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 304 = linux_open_by_handle_at */
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_clock_adjtime, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 305 = linux_clock_adjtime */
 	{ .sy_narg = AS(linux_syncfs_args), .sy_call = (sy_call_t *)linux_syncfs, .sy_auevent = AUE_SYNC, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 306 = linux_syncfs */
 	{ .sy_narg = AS(linux_sendmmsg_args), .sy_call = (sy_call_t *)linux_sendmmsg, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 307 = linux_sendmmsg */

Modified: head/sys/amd64/linux/linux_systrace_args.c
==============================================================================
--- head/sys/amd64/linux/linux_systrace_args.c	Tue Nov 17 19:51:47 2020	(r367773)
+++ head/sys/amd64/linux/linux_systrace_args.c	Tue Nov 17 19:53:59 2020	(r367774)
@@ -2321,12 +2321,22 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
 	}
 	/* linux_name_to_handle_at */
 	case 303: {
-		*n_args = 0;
+		struct linux_name_to_handle_at_args *p = params;
+		iarg[0] = p->dirfd; /* l_int */
+		uarg[1] = (intptr_t) p->name; /* const char * */
+		uarg[2] = (intptr_t) p->handle; /* struct l_file_handle * */
+		uarg[3] = (intptr_t) p->mnt_id; /* l_int * */
+		iarg[4] = p->flags; /* l_int */
+		*n_args = 5;
 		break;
 	}
 	/* linux_open_by_handle_at */
 	case 304: {
-		*n_args = 0;
+		struct linux_open_by_handle_at_args *p = params;
+		iarg[0] = p->mountdirfd; /* l_int */
+		uarg[1] = (intptr_t) p->handle; /* struct l_file_handle * */
+		iarg[2] = p->flags; /* l_int */
+		*n_args = 3;
 		break;
 	}
 	/* linux_clock_adjtime */
@@ -6340,9 +6350,41 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 		break;
 	/* linux_name_to_handle_at */
 	case 303:
+		switch(ndx) {
+		case 0:
+			p = "l_int";
+			break;
+		case 1:
+			p = "userland const char *";
+			break;
+		case 2:
+			p = "userland struct l_file_handle *";
+			break;
+		case 3:
+			p = "userland l_int *";
+			break;
+		case 4:
+			p = "l_int";
+			break;
+		default:
+			break;
+		};
 		break;
 	/* linux_open_by_handle_at */
 	case 304:
+		switch(ndx) {
+		case 0:
+			p = "l_int";
+			break;
+		case 1:
+			p = "userland struct l_file_handle *";
+			break;
+		case 2:
+			p = "l_int";
+			break;
+		default:
+			break;
+		};
 		break;
 	/* linux_clock_adjtime */
 	case 305:
@@ -8153,8 +8195,14 @@ systrace_return_setargdesc(int sysnum, int ndx, char *
 		break;
 	/* linux_name_to_handle_at */
 	case 303:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_open_by_handle_at */
 	case 304:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_clock_adjtime */
 	case 305:
 	/* linux_syncfs */

Modified: head/sys/amd64/linux32/linux32_proto.h
==============================================================================
--- head/sys/amd64/linux32/linux32_proto.h	Tue Nov 17 19:51:47 2020	(r367773)
+++ head/sys/amd64/linux32/linux32_proto.h	Tue Nov 17 19:53:59 2020	(r367774)
@@ -1218,10 +1218,16 @@ struct linux_prlimit64_args {
 	char old_l_[PADL_(struct rlimit *)]; struct rlimit * old; char old_r_[PADR_(struct rlimit *)];
 };
 struct linux_name_to_handle_at_args {
-	register_t dummy;
+	char dirfd_l_[PADL_(l_int)]; l_int dirfd; char dirfd_r_[PADR_(l_int)];
+	char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+	char handle_l_[PADL_(struct l_file_handle *)]; struct l_file_handle * handle; char handle_r_[PADR_(struct l_file_handle *)];
+	char mnt_id_l_[PADL_(l_int *)]; l_int * mnt_id; char mnt_id_r_[PADR_(l_int *)];
+	char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
 };
 struct linux_open_by_handle_at_args {
-	register_t dummy;
+	char mountdirfd_l_[PADL_(l_int)]; l_int mountdirfd; char mountdirfd_r_[PADR_(l_int)];
+	char handle_l_[PADL_(struct l_file_handle *)]; struct l_file_handle * handle; char handle_r_[PADR_(struct l_file_handle *)];
+	char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
 };
 struct linux_clock_adjtime_args {
 	register_t dummy;

Modified: head/sys/amd64/linux32/linux32_sysent.c
==============================================================================
--- head/sys/amd64/linux32/linux32_sysent.c	Tue Nov 17 19:51:47 2020	(r367773)
+++ head/sys/amd64/linux32/linux32_sysent.c	Tue Nov 17 19:53:59 2020	(r367774)
@@ -358,8 +358,8 @@ struct sysent linux32_sysent[] = {
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_fanotify_init, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 338 = linux_fanotify_init */
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_fanotify_mark, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 339 = linux_fanotify_mark */
 	{ .sy_narg = AS(linux_prlimit64_args), .sy_call = (sy_call_t *)linux_prlimit64, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 340 = linux_prlimit64 */
-	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_name_to_handle_at, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 341 = linux_name_to_handle_at */
-	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_open_by_handle_at, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 342 = linux_open_by_handle_at */
+	{ .sy_narg = AS(linux_name_to_handle_at_args), .sy_call = (sy_call_t *)linux_name_to_handle_at, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 341 = linux_name_to_handle_at */
+	{ .sy_narg = AS(linux_open_by_handle_at_args), .sy_call = (sy_call_t *)linux_open_by_handle_at, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 342 = linux_open_by_handle_at */
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_clock_adjtime, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 343 = linux_clock_adjtime */
 	{ .sy_narg = AS(linux_syncfs_args), .sy_call = (sy_call_t *)linux_syncfs, .sy_auevent = AUE_SYNC, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 344 = linux_syncfs */
 	{ .sy_narg = AS(linux_sendmmsg_args), .sy_call = (sy_call_t *)linux_sendmmsg, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 345 = linux_sendmmsg */

Modified: head/sys/amd64/linux32/linux32_systrace_args.c
==============================================================================
--- head/sys/amd64/linux32/linux32_systrace_args.c	Tue Nov 17 19:51:47 2020	(r367773)
+++ head/sys/amd64/linux32/linux32_systrace_args.c	Tue Nov 17 19:53:59 2020	(r367774)
@@ -2445,12 +2445,22 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
 	}
 	/* linux_name_to_handle_at */
 	case 341: {
-		*n_args = 0;
+		struct linux_name_to_handle_at_args *p = params;
+		iarg[0] = p->dirfd; /* l_int */
+		uarg[1] = (intptr_t) p->name; /* const char * */
+		uarg[2] = (intptr_t) p->handle; /* struct l_file_handle * */
+		uarg[3] = (intptr_t) p->mnt_id; /* l_int * */
+		iarg[4] = p->flags; /* l_int */
+		*n_args = 5;
 		break;
 	}
 	/* linux_open_by_handle_at */
 	case 342: {
-		*n_args = 0;
+		struct linux_open_by_handle_at_args *p = params;
+		iarg[0] = p->mountdirfd; /* l_int */
+		uarg[1] = (intptr_t) p->handle; /* struct l_file_handle * */
+		iarg[2] = p->flags; /* l_int */
+		*n_args = 3;
 		break;
 	}
 	/* linux_clock_adjtime */
@@ -6970,9 +6980,41 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 		break;
 	/* linux_name_to_handle_at */
 	case 341:
+		switch(ndx) {
+		case 0:
+			p = "l_int";
+			break;
+		case 1:
+			p = "userland const char *";
+			break;
+		case 2:
+			p = "userland struct l_file_handle *";
+			break;
+		case 3:
+			p = "userland l_int *";
+			break;
+		case 4:
+			p = "l_int";
+			break;
+		default:
+			break;
+		};
 		break;
 	/* linux_open_by_handle_at */
 	case 342:
+		switch(ndx) {
+		case 0:
+			p = "l_int";
+			break;
+		case 1:
+			p = "userland struct l_file_handle *";
+			break;
+		case 2:
+			p = "l_int";
+			break;
+		default:
+			break;
+		};
 		break;
 	/* linux_clock_adjtime */
 	case 343:
@@ -9326,8 +9368,14 @@ systrace_return_setargdesc(int sysnum, int ndx, char *
 		break;
 	/* linux_name_to_handle_at */
 	case 341:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_open_by_handle_at */
 	case 342:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_clock_adjtime */
 	case 343:
 	/* linux_syncfs */

Modified: head/sys/arm64/linux/linux_proto.h
==============================================================================
--- head/sys/arm64/linux/linux_proto.h	Tue Nov 17 19:51:47 2020	(r367773)
+++ head/sys/arm64/linux/linux_proto.h	Tue Nov 17 19:53:59 2020	(r367774)
@@ -967,10 +967,16 @@ struct linux_fanotify_mark_args {
 	register_t dummy;
 };
 struct linux_name_to_handle_at_args {
-	register_t dummy;
+	char dirfd_l_[PADL_(l_int)]; l_int dirfd; char dirfd_r_[PADR_(l_int)];
+	char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+	char handle_l_[PADL_(struct l_file_handle *)]; struct l_file_handle * handle; char handle_r_[PADR_(struct l_file_handle *)];
+	char mnt_id_l_[PADL_(l_int *)]; l_int * mnt_id; char mnt_id_r_[PADR_(l_int *)];
+	char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
 };
 struct linux_open_by_handle_at_args {
-	register_t dummy;
+	char mountdirfd_l_[PADL_(l_int)]; l_int mountdirfd; char mountdirfd_r_[PADR_(l_int)];
+	char handle_l_[PADL_(struct l_file_handle *)]; struct l_file_handle * handle; char handle_r_[PADR_(struct l_file_handle *)];
+	char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
 };
 struct linux_clock_adjtime_args {
 	register_t dummy;

Modified: head/sys/arm64/linux/linux_sysent.c
==============================================================================
--- head/sys/arm64/linux/linux_sysent.c	Tue Nov 17 19:51:47 2020	(r367773)
+++ head/sys/arm64/linux/linux_sysent.c	Tue Nov 17 19:53:59 2020	(r367774)
@@ -281,8 +281,8 @@ struct sysent linux_sysent[] = {
 	{ .sy_narg = AS(linux_prlimit64_args), .sy_call = (sy_call_t *)linux_prlimit64, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 261 = linux_prlimit64 */
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_fanotify_init, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 262 = linux_fanotify_init */
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_fanotify_mark, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 263 = linux_fanotify_mark */
-	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_name_to_handle_at, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 264 = linux_name_to_handle_at */
-	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_open_by_handle_at, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 265 = linux_open_by_handle_at */
+	{ .sy_narg = AS(linux_name_to_handle_at_args), .sy_call = (sy_call_t *)linux_name_to_handle_at, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 264 = linux_name_to_handle_at */
+	{ .sy_narg = AS(linux_open_by_handle_at_args), .sy_call = (sy_call_t *)linux_open_by_handle_at, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 265 = linux_open_by_handle_at */
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_clock_adjtime, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 266 = linux_clock_adjtime */
 	{ .sy_narg = AS(linux_syncfs_args), .sy_call = (sy_call_t *)linux_syncfs, .sy_auevent = AUE_SYNC, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 267 = linux_syncfs */
 	{ .sy_narg = AS(linux_setns_args), .sy_call = (sy_call_t *)linux_setns, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 268 = linux_setns */

Modified: head/sys/arm64/linux/linux_systrace_args.c
==============================================================================
--- head/sys/arm64/linux/linux_systrace_args.c	Tue Nov 17 19:51:47 2020	(r367773)
+++ head/sys/arm64/linux/linux_systrace_args.c	Tue Nov 17 19:53:59 2020	(r367774)
@@ -1960,12 +1960,22 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
 	}
 	/* linux_name_to_handle_at */
 	case 264: {
-		*n_args = 0;
+		struct linux_name_to_handle_at_args *p = params;
+		iarg[0] = p->dirfd; /* l_int */
+		uarg[1] = (intptr_t) p->name; /* const char * */
+		uarg[2] = (intptr_t) p->handle; /* struct l_file_handle * */
+		uarg[3] = (intptr_t) p->mnt_id; /* l_int * */
+		iarg[4] = p->flags; /* l_int */
+		*n_args = 5;
 		break;
 	}
 	/* linux_open_by_handle_at */
 	case 265: {
-		*n_args = 0;
+		struct linux_open_by_handle_at_args *p = params;
+		iarg[0] = p->mountdirfd; /* l_int */
+		uarg[1] = (intptr_t) p->handle; /* struct l_file_handle * */
+		iarg[2] = p->flags; /* l_int */
+		*n_args = 3;
 		break;
 	}
 	/* linux_clock_adjtime */
@@ -5408,9 +5418,41 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 		break;
 	/* linux_name_to_handle_at */
 	case 264:
+		switch(ndx) {
+		case 0:
+			p = "l_int";
+			break;
+		case 1:
+			p = "userland const char *";
+			break;
+		case 2:
+			p = "userland struct l_file_handle *";
+			break;
+		case 3:
+			p = "userland l_int *";
+			break;
+		case 4:
+			p = "l_int";
+			break;
+		default:
+			break;
+		};
 		break;
 	/* linux_open_by_handle_at */
 	case 265:
+		switch(ndx) {
+		case 0:
+			p = "l_int";
+			break;
+		case 1:
+			p = "userland struct l_file_handle *";
+			break;
+		case 2:
+			p = "l_int";
+			break;
+		default:
+			break;
+		};
 		break;
 	/* linux_clock_adjtime */
 	case 266:
@@ -6923,8 +6965,14 @@ systrace_return_setargdesc(int sysnum, int ndx, char *
 	case 263:
 	/* linux_name_to_handle_at */
 	case 264:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_open_by_handle_at */
 	case 265:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_clock_adjtime */
 	case 266:
 	/* linux_syncfs */

Modified: head/sys/i386/linux/linux_proto.h
==============================================================================
--- head/sys/i386/linux/linux_proto.h	Tue Nov 17 19:51:47 2020	(r367773)
+++ head/sys/i386/linux/linux_proto.h	Tue Nov 17 19:53:59 2020	(r367774)
@@ -1211,10 +1211,16 @@ struct linux_prlimit64_args {
 	char old_l_[PADL_(struct rlimit *)]; struct rlimit * old; char old_r_[PADR_(struct rlimit *)];
 };
 struct linux_name_to_handle_at_args {
-	register_t dummy;
+	char dirfd_l_[PADL_(l_int)]; l_int dirfd; char dirfd_r_[PADR_(l_int)];
+	char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+	char handle_l_[PADL_(struct l_file_handle *)]; struct l_file_handle * handle; char handle_r_[PADR_(struct l_file_handle *)];
+	char mnt_id_l_[PADL_(l_int *)]; l_int * mnt_id; char mnt_id_r_[PADR_(l_int *)];
+	char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
 };
 struct linux_open_by_handle_at_args {
-	register_t dummy;
+	char mountdirfd_l_[PADL_(l_int)]; l_int mountdirfd; char mountdirfd_r_[PADR_(l_int)];
+	char handle_l_[PADL_(struct l_file_handle *)]; struct l_file_handle * handle; char handle_r_[PADR_(struct l_file_handle *)];
+	char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
 };
 struct linux_clock_adjtime_args {
 	register_t dummy;

Modified: head/sys/i386/linux/linux_sysent.c
==============================================================================
--- head/sys/i386/linux/linux_sysent.c	Tue Nov 17 19:51:47 2020	(r367773)
+++ head/sys/i386/linux/linux_sysent.c	Tue Nov 17 19:53:59 2020	(r367774)
@@ -358,8 +358,8 @@ struct sysent linux_sysent[] = {
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_fanotify_init, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 338 = linux_fanotify_init */
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_fanotify_mark, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 339 = linux_fanotify_mark */
 	{ .sy_narg = AS(linux_prlimit64_args), .sy_call = (sy_call_t *)linux_prlimit64, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 340 = linux_prlimit64 */
-	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_name_to_handle_at, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 341 = linux_name_to_handle_at */
-	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_open_by_handle_at, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 342 = linux_open_by_handle_at */
+	{ .sy_narg = AS(linux_name_to_handle_at_args), .sy_call = (sy_call_t *)linux_name_to_handle_at, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 341 = linux_name_to_handle_at */
+	{ .sy_narg = AS(linux_open_by_handle_at_args), .sy_call = (sy_call_t *)linux_open_by_handle_at, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 342 = linux_open_by_handle_at */
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_clock_adjtime, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 343 = linux_clock_adjtime */
 	{ .sy_narg = AS(linux_syncfs_args), .sy_call = (sy_call_t *)linux_syncfs, .sy_auevent = AUE_SYNC, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 344 = linux_syncfs */
 	{ .sy_narg = AS(linux_sendmmsg_args), .sy_call = (sy_call_t *)linux_sendmmsg, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 345 = linux_sendmmsg */

Modified: head/sys/i386/linux/linux_systrace_args.c
==============================================================================
--- head/sys/i386/linux/linux_systrace_args.c	Tue Nov 17 19:51:47 2020	(r367773)
+++ head/sys/i386/linux/linux_systrace_args.c	Tue Nov 17 19:53:59 2020	(r367774)
@@ -2484,12 +2484,22 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
 	}
 	/* linux_name_to_handle_at */
 	case 341: {
-		*n_args = 0;
+		struct linux_name_to_handle_at_args *p = params;
+		iarg[0] = p->dirfd; /* l_int */
+		uarg[1] = (intptr_t) p->name; /* const char * */
+		uarg[2] = (intptr_t) p->handle; /* struct l_file_handle * */
+		uarg[3] = (intptr_t) p->mnt_id; /* l_int * */
+		iarg[4] = p->flags; /* l_int */
+		*n_args = 5;
 		break;
 	}
 	/* linux_open_by_handle_at */
 	case 342: {
-		*n_args = 0;
+		struct linux_open_by_handle_at_args *p = params;
+		iarg[0] = p->mountdirfd; /* l_int */
+		uarg[1] = (intptr_t) p->handle; /* struct l_file_handle * */
+		iarg[2] = p->flags; /* l_int */
+		*n_args = 3;
 		break;
 	}
 	/* linux_clock_adjtime */
@@ -7047,9 +7057,41 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 		break;
 	/* linux_name_to_handle_at */
 	case 341:
+		switch(ndx) {
+		case 0:
+			p = "l_int";
+			break;
+		case 1:
+			p = "userland const char *";
+			break;
+		case 2:
+			p = "userland struct l_file_handle *";
+			break;
+		case 3:
+			p = "userland l_int *";
+			break;
+		case 4:
+			p = "l_int";
+			break;
+		default:
+			break;
+		};
 		break;
 	/* linux_open_by_handle_at */
 	case 342:
+		switch(ndx) {
+		case 0:
+			p = "l_int";
+			break;
+		case 1:
+			p = "userland struct l_file_handle *";
+			break;
+		case 2:
+			p = "l_int";
+			break;
+		default:
+			break;
+		};
 		break;
 	/* linux_clock_adjtime */
 	case 343:
@@ -9432,8 +9474,14 @@ systrace_return_setargdesc(int sysnum, int ndx, char *
 		break;
 	/* linux_name_to_handle_at */
 	case 341:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_open_by_handle_at */
 	case 342:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_clock_adjtime */
 	case 343:
 	/* linux_syncfs */



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