svn commit: r340389 - in stable/12/sys: compat/freebsd32 sys

Brooks Davis brooks at FreeBSD.org
Mon Nov 12 21:53:49 UTC 2018


Author: brooks
Date: Mon Nov 12 21:53:47 2018
New Revision: 340389
URL: https://svnweb.freebsd.org/changeset/base/340389

Log:
  Regen after r340388: MFC r340302: Fix freebsd32 mknod(at).
  
  Approved by:	re (gjb, implicit)
  Sponsored by:	DARPA, AFRL
  Differential Revision:	https://reviews.freebsd.org/D17928

Modified:
  stable/12/sys/compat/freebsd32/freebsd32_proto.h
  stable/12/sys/compat/freebsd32/freebsd32_syscall.h
  stable/12/sys/compat/freebsd32/freebsd32_syscalls.c
  stable/12/sys/compat/freebsd32/freebsd32_sysent.c
  stable/12/sys/compat/freebsd32/freebsd32_systrace_args.c
  stable/12/sys/sys/sysproto.h

Modified: stable/12/sys/compat/freebsd32/freebsd32_proto.h
==============================================================================
--- stable/12/sys/compat/freebsd32/freebsd32_proto.h	Mon Nov 12 21:51:36 2018	(r340388)
+++ stable/12/sys/compat/freebsd32/freebsd32_proto.h	Mon Nov 12 21:53:47 2018	(r340389)
@@ -684,6 +684,24 @@ struct freebsd32_fhstat_args {
 	char u_fhp_l_[PADL_(const struct fhandle *)]; const struct fhandle * u_fhp; char u_fhp_r_[PADR_(const struct fhandle *)];
 	char sb_l_[PADL_(struct stat32 *)]; struct stat32 * sb; char sb_r_[PADR_(struct stat32 *)];
 };
+#ifdef PAD64_REQUIRED
+struct freebsd32_mknodat_args {
+	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
+	char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
+	char mode_l_[PADL_(mode_t)]; mode_t mode; char mode_r_[PADR_(mode_t)];
+	char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)];
+	char dev1_l_[PADL_(uint32_t)]; uint32_t dev1; char dev1_r_[PADR_(uint32_t)];
+	char dev2_l_[PADL_(uint32_t)]; uint32_t dev2; char dev2_r_[PADR_(uint32_t)];
+};
+#else
+struct freebsd32_mknodat_args {
+	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
+	char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
+	char mode_l_[PADL_(mode_t)]; mode_t mode; char mode_r_[PADR_(mode_t)];
+	char dev1_l_[PADL_(uint32_t)]; uint32_t dev1; char dev1_r_[PADR_(uint32_t)];
+	char dev2_l_[PADL_(uint32_t)]; uint32_t dev2; char dev2_r_[PADR_(uint32_t)];
+};
+#endif
 struct freebsd32_kevent_args {
 	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
 	char changelist_l_[PADL_(const struct kevent32 *)]; const struct kevent32 * changelist; char changelist_r_[PADR_(const struct kevent32 *)];
@@ -839,6 +857,11 @@ int	freebsd32_utimensat(struct thread *, struct freebs
 int	freebsd32_fstat(struct thread *, struct freebsd32_fstat_args *);
 int	freebsd32_fstatat(struct thread *, struct freebsd32_fstatat_args *);
 int	freebsd32_fhstat(struct thread *, struct freebsd32_fhstat_args *);
+#ifdef PAD64_REQUIRED
+int	freebsd32_mknodat(struct thread *, struct freebsd32_mknodat_args *);
+#else
+int	freebsd32_mknodat(struct thread *, struct freebsd32_mknodat_args *);
+#endif
 int	freebsd32_kevent(struct thread *, struct freebsd32_kevent_args *);
 int	freebsd32_cpuset_getdomain(struct thread *, struct freebsd32_cpuset_getdomain_args *);
 int	freebsd32_cpuset_setdomain(struct thread *, struct freebsd32_cpuset_setdomain_args *);
@@ -916,6 +939,9 @@ struct ofreebsd32_getdirentries_args {
 #ifdef PAD64_REQUIRED
 #else
 #endif
+#ifdef PAD64_REQUIRED
+#else
+#endif
 int	ofreebsd32_lseek(struct thread *, struct ofreebsd32_lseek_args *);
 int	ofreebsd32_stat(struct thread *, struct ofreebsd32_stat_args *);
 int	ofreebsd32_lstat(struct thread *, struct ofreebsd32_lstat_args *);
@@ -987,6 +1013,9 @@ struct freebsd4_freebsd32_sigreturn_args {
 #ifdef PAD64_REQUIRED
 #else
 #endif
+#ifdef PAD64_REQUIRED
+#else
+#endif
 int	freebsd4_freebsd32_getfsstat(struct thread *, struct freebsd4_freebsd32_getfsstat_args *);
 int	freebsd4_freebsd32_statfs(struct thread *, struct freebsd4_freebsd32_statfs_args *);
 int	freebsd4_freebsd32_fstatfs(struct thread *, struct freebsd4_freebsd32_fstatfs_args *);
@@ -1072,6 +1101,9 @@ struct freebsd6_freebsd32_lio_listio_args {
 #ifdef PAD64_REQUIRED
 #else
 #endif
+#ifdef PAD64_REQUIRED
+#else
+#endif
 int	freebsd6_freebsd32_pread(struct thread *, struct freebsd6_freebsd32_pread_args *);
 int	freebsd6_freebsd32_pwrite(struct thread *, struct freebsd6_freebsd32_pwrite_args *);
 int	freebsd6_freebsd32_mmap(struct thread *, struct freebsd6_freebsd32_mmap_args *);
@@ -1118,6 +1150,9 @@ struct freebsd7_freebsd32_shmctl_args {
 #ifdef PAD64_REQUIRED
 #else
 #endif
+#ifdef PAD64_REQUIRED
+#else
+#endif
 int	freebsd7_freebsd32_semctl(struct thread *, struct freebsd7_freebsd32_semctl_args *);
 int	freebsd7_freebsd32_msgctl(struct thread *, struct freebsd7_freebsd32_msgctl_args *);
 int	freebsd7_freebsd32_shmctl(struct thread *, struct freebsd7_freebsd32_shmctl_args *);
@@ -1142,6 +1177,9 @@ int	freebsd7_freebsd32_shmctl(struct thread *, struct 
 #ifdef PAD64_REQUIRED
 #else
 #endif
+#ifdef PAD64_REQUIRED
+#else
+#endif
 int	freebsd10_freebsd32_pipe(struct thread *, struct freebsd10_freebsd32_pipe_args *);
 
 #endif /* COMPAT_FREEBSD10 */
@@ -1152,11 +1190,6 @@ int	freebsd10_freebsd32_pipe(struct thread *, struct f
 #if !defined(PAD64_REQUIRED) && (defined(__powerpc__) || defined(__mips__))
 #define PAD64_REQUIRED
 #endif
-struct freebsd11_freebsd32_mknod_args {
-	char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
-	char mode_l_[PADL_(int)]; int mode; char mode_r_[PADR_(int)];
-	char dev_l_[PADL_(int)]; int dev; char dev_r_[PADR_(int)];
-};
 struct freebsd11_freebsd32_stat_args {
 	char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
 	char ub_l_[PADL_(struct freebsd11_stat32 *)]; struct freebsd11_stat32 * ub; char ub_r_[PADR_(struct freebsd11_stat32 *)];
@@ -1204,19 +1237,15 @@ struct freebsd11_freebsd32_fstatat_args {
 	char buf_l_[PADL_(struct freebsd11_stat32 *)]; struct freebsd11_stat32 * buf; char buf_r_[PADR_(struct freebsd11_stat32 *)];
 	char flag_l_[PADL_(int)]; int flag; char flag_r_[PADR_(int)];
 };
-struct freebsd11_freebsd32_mknodat_args {
-	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
-	char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
-	char mode_l_[PADL_(mode_t)]; mode_t mode; char mode_r_[PADR_(mode_t)];
-	char dev_l_[PADL_(uint32_t)]; uint32_t dev; char dev_r_[PADR_(uint32_t)];
-};
 #ifdef PAD64_REQUIRED
 #else
 #endif
 #ifdef PAD64_REQUIRED
 #else
 #endif
-int	freebsd11_freebsd32_mknod(struct thread *, struct freebsd11_freebsd32_mknod_args *);
+#ifdef PAD64_REQUIRED
+#else
+#endif
 int	freebsd11_freebsd32_stat(struct thread *, struct freebsd11_freebsd32_stat_args *);
 int	freebsd11_freebsd32_fstat(struct thread *, struct freebsd11_freebsd32_fstat_args *);
 int	freebsd11_freebsd32_lstat(struct thread *, struct freebsd11_freebsd32_lstat_args *);
@@ -1225,12 +1254,10 @@ int	freebsd11_freebsd32_getdents(struct thread *, stru
 int	freebsd11_freebsd32_fhstat(struct thread *, struct freebsd11_freebsd32_fhstat_args *);
 int	freebsd11_freebsd32_kevent(struct thread *, struct freebsd11_freebsd32_kevent_args *);
 int	freebsd11_freebsd32_fstatat(struct thread *, struct freebsd11_freebsd32_fstatat_args *);
-int	freebsd11_freebsd32_mknodat(struct thread *, struct freebsd11_freebsd32_mknodat_args *);
 
 #endif /* COMPAT_FREEBSD11 */
 
 #define	FREEBSD32_SYS_AUE_freebsd32_wait4	AUE_WAIT4
-#define	FREEBSD32_SYS_AUE_freebsd11_freebsd32_mknod	AUE_MKNOD
 #define	FREEBSD32_SYS_AUE_freebsd4_freebsd32_getfsstat	AUE_GETFSSTAT
 #define	FREEBSD32_SYS_AUE_ofreebsd32_lseek	AUE_LSEEK
 #define	FREEBSD32_SYS_AUE_freebsd32_recvmsg	AUE_RECVMSG
@@ -1364,7 +1391,6 @@ int	freebsd11_freebsd32_mknodat(struct thread *, struc
 #define	FREEBSD32_SYS_AUE_freebsd32_fexecve	AUE_FEXECVE
 #define	FREEBSD32_SYS_AUE_freebsd11_freebsd32_fstatat	AUE_FSTATAT
 #define	FREEBSD32_SYS_AUE_freebsd32_futimesat	AUE_FUTIMESAT
-#define	FREEBSD32_SYS_AUE_freebsd11_freebsd32_mknodat	AUE_MKNODAT
 #define	FREEBSD32_SYS_AUE_freebsd32_jail_get	AUE_JAIL_GET
 #define	FREEBSD32_SYS_AUE_freebsd32_jail_set	AUE_JAIL_SET
 #define	FREEBSD32_SYS_AUE_freebsd32_semctl	AUE_SEMCTL
@@ -1388,6 +1414,8 @@ int	freebsd11_freebsd32_mknodat(struct thread *, struc
 #define	FREEBSD32_SYS_AUE_freebsd32_fstat	AUE_FSTAT
 #define	FREEBSD32_SYS_AUE_freebsd32_fstatat	AUE_FSTATAT
 #define	FREEBSD32_SYS_AUE_freebsd32_fhstat	AUE_FHSTAT
+#define	FREEBSD32_SYS_AUE_freebsd32_mknodat	AUE_MKNODAT
+#define	FREEBSD32_SYS_AUE_freebsd32_mknodat	AUE_MKNODAT
 #define	FREEBSD32_SYS_AUE_freebsd32_kevent	AUE_KEVENT
 #define	FREEBSD32_SYS_AUE_freebsd32_cpuset_getdomain	AUE_NULL
 #define	FREEBSD32_SYS_AUE_freebsd32_cpuset_setdomain	AUE_NULL

Modified: stable/12/sys/compat/freebsd32/freebsd32_syscall.h
==============================================================================
--- stable/12/sys/compat/freebsd32/freebsd32_syscall.h	Mon Nov 12 21:51:36 2018	(r340388)
+++ stable/12/sys/compat/freebsd32/freebsd32_syscall.h	Mon Nov 12 21:53:47 2018	(r340389)
@@ -19,7 +19,7 @@
 				/* 11 is obsolete execv */
 #define	FREEBSD32_SYS_chdir	12
 #define	FREEBSD32_SYS_fchdir	13
-#define	FREEBSD32_SYS_freebsd11_freebsd32_mknod	14
+#define	FREEBSD32_SYS_freebsd11_mknod	14
 #define	FREEBSD32_SYS_chmod	15
 #define	FREEBSD32_SYS_chown	16
 #define	FREEBSD32_SYS_break	17
@@ -421,7 +421,7 @@
 #define	FREEBSD32_SYS_linkat	495
 #define	FREEBSD32_SYS_mkdirat	496
 #define	FREEBSD32_SYS_mkfifoat	497
-#define	FREEBSD32_SYS_freebsd11_freebsd32_mknodat	498
+#define	FREEBSD32_SYS_freebsd11_mknodat	498
 #define	FREEBSD32_SYS_openat	499
 #define	FREEBSD32_SYS_readlinkat	500
 #define	FREEBSD32_SYS_renameat	501
@@ -484,7 +484,8 @@
 #define	FREEBSD32_SYS_fstatfs	556
 #define	FREEBSD32_SYS_getfsstat	557
 #define	FREEBSD32_SYS_fhstatfs	558
-#define	FREEBSD32_SYS_mknodat	559
+#define	FREEBSD32_SYS_freebsd32_mknodat	559
+#define	FREEBSD32_SYS_freebsd32_mknodat	559
 #define	FREEBSD32_SYS_freebsd32_kevent	560
 #define	FREEBSD32_SYS_freebsd32_cpuset_getdomain	561
 #define	FREEBSD32_SYS_freebsd32_cpuset_setdomain	562

Modified: stable/12/sys/compat/freebsd32/freebsd32_syscalls.c
==============================================================================
--- stable/12/sys/compat/freebsd32/freebsd32_syscalls.c	Mon Nov 12 21:51:36 2018	(r340388)
+++ stable/12/sys/compat/freebsd32/freebsd32_syscalls.c	Mon Nov 12 21:53:47 2018	(r340389)
@@ -23,7 +23,7 @@ const char *freebsd32_syscallnames[] = {
 	"obs_execv",			/* 11 = obsolete execv */
 	"chdir",			/* 12 = chdir */
 	"fchdir",			/* 13 = fchdir */
-	"compat11.freebsd32_mknod",		/* 14 = freebsd11 freebsd32_mknod */
+	"compat11.mknod",		/* 14 = freebsd11 mknod */
 	"chmod",			/* 15 = chmod */
 	"chown",			/* 16 = chown */
 	"break",			/* 17 = break */
@@ -520,7 +520,7 @@ const char *freebsd32_syscallnames[] = {
 	"linkat",			/* 495 = linkat */
 	"mkdirat",			/* 496 = mkdirat */
 	"mkfifoat",			/* 497 = mkfifoat */
-	"compat11.freebsd32_mknodat",		/* 498 = freebsd11 freebsd32_mknodat */
+	"compat11.mknodat",		/* 498 = freebsd11 mknodat */
 	"openat",			/* 499 = openat */
 	"readlinkat",			/* 500 = readlinkat */
 	"renameat",			/* 501 = renameat */
@@ -591,7 +591,11 @@ const char *freebsd32_syscallnames[] = {
 	"fstatfs",			/* 556 = fstatfs */
 	"getfsstat",			/* 557 = getfsstat */
 	"fhstatfs",			/* 558 = fhstatfs */
-	"mknodat",			/* 559 = mknodat */
+#ifdef PAD64_REQUIRED
+	"freebsd32_mknodat",			/* 559 = freebsd32_mknodat */
+#else
+	"freebsd32_mknodat",			/* 559 = freebsd32_mknodat */
+#endif
 	"freebsd32_kevent",			/* 560 = freebsd32_kevent */
 	"freebsd32_cpuset_getdomain",			/* 561 = freebsd32_cpuset_getdomain */
 	"freebsd32_cpuset_setdomain",			/* 562 = freebsd32_cpuset_setdomain */

Modified: stable/12/sys/compat/freebsd32/freebsd32_sysent.c
==============================================================================
--- stable/12/sys/compat/freebsd32/freebsd32_sysent.c	Mon Nov 12 21:51:36 2018	(r340388)
+++ stable/12/sys/compat/freebsd32/freebsd32_sysent.c	Mon Nov 12 21:53:47 2018	(r340389)
@@ -70,7 +70,7 @@ struct sysent freebsd32_sysent[] = {
 	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT },			/* 11 = obsolete execv */
 	{ AS(chdir_args), (sy_call_t *)sys_chdir, AUE_CHDIR, NULL, 0, 0, 0, SY_THR_STATIC },	/* 12 = chdir */
 	{ AS(fchdir_args), (sy_call_t *)sys_fchdir, AUE_FCHDIR, NULL, 0, 0, 0, SY_THR_STATIC },	/* 13 = fchdir */
-	{ compat11(AS(freebsd11_freebsd32_mknod_args),freebsd32_mknod), AUE_MKNOD, NULL, 0, 0, 0, SY_THR_STATIC },	/* 14 = freebsd11 freebsd32_mknod */
+	{ compat11(AS(freebsd11_mknod_args),mknod), AUE_MKNOD, NULL, 0, 0, 0, SY_THR_STATIC },	/* 14 = freebsd11 mknod */
 	{ AS(chmod_args), (sy_call_t *)sys_chmod, AUE_CHMOD, NULL, 0, 0, 0, SY_THR_STATIC },	/* 15 = chmod */
 	{ AS(chown_args), (sy_call_t *)sys_chown, AUE_CHOWN, NULL, 0, 0, 0, SY_THR_STATIC },	/* 16 = chown */
 	{ AS(break_args), (sy_call_t *)sys_break, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },	/* 17 = break */
@@ -567,7 +567,7 @@ struct sysent freebsd32_sysent[] = {
 	{ AS(linkat_args), (sy_call_t *)sys_linkat, AUE_LINKAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },	/* 495 = linkat */
 	{ AS(mkdirat_args), (sy_call_t *)sys_mkdirat, AUE_MKDIRAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },	/* 496 = mkdirat */
 	{ AS(mkfifoat_args), (sy_call_t *)sys_mkfifoat, AUE_MKFIFOAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },	/* 497 = mkfifoat */
-	{ compat11(AS(freebsd11_freebsd32_mknodat_args),freebsd32_mknodat), AUE_MKNODAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },	/* 498 = freebsd11 freebsd32_mknodat */
+	{ compat11(AS(freebsd11_mknodat_args),mknodat), AUE_MKNODAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },	/* 498 = freebsd11 mknodat */
 	{ AS(openat_args), (sy_call_t *)sys_openat, AUE_OPENAT_RWTC, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },	/* 499 = openat */
 	{ AS(readlinkat_args), (sy_call_t *)sys_readlinkat, AUE_READLINKAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },	/* 500 = readlinkat */
 	{ AS(renameat_args), (sy_call_t *)sys_renameat, AUE_RENAMEAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },	/* 501 = renameat */
@@ -638,7 +638,11 @@ struct sysent freebsd32_sysent[] = {
 	{ AS(fstatfs_args), (sy_call_t *)sys_fstatfs, AUE_FSTATFS, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },	/* 556 = fstatfs */
 	{ AS(getfsstat_args), (sy_call_t *)sys_getfsstat, AUE_GETFSSTAT, NULL, 0, 0, 0, SY_THR_STATIC },	/* 557 = getfsstat */
 	{ AS(fhstatfs_args), (sy_call_t *)sys_fhstatfs, AUE_FHSTATFS, NULL, 0, 0, 0, SY_THR_STATIC },	/* 558 = fhstatfs */
-	{ AS(mknodat_args), (sy_call_t *)sys_mknodat, AUE_MKNODAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },	/* 559 = mknodat */
+#ifdef PAD64_REQUIRED
+	{ AS(freebsd32_mknodat_args), (sy_call_t *)freebsd32_mknodat, AUE_MKNODAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },	/* 559 = freebsd32_mknodat */
+#else
+	{ AS(freebsd32_mknodat_args), (sy_call_t *)freebsd32_mknodat, AUE_MKNODAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },	/* 559 = freebsd32_mknodat */
+#endif
 	{ AS(freebsd32_kevent_args), (sy_call_t *)freebsd32_kevent, AUE_KEVENT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },	/* 560 = freebsd32_kevent */
 	{ AS(freebsd32_cpuset_getdomain_args), (sy_call_t *)freebsd32_cpuset_getdomain, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },	/* 561 = freebsd32_cpuset_getdomain */
 	{ AS(freebsd32_cpuset_setdomain_args), (sy_call_t *)freebsd32_cpuset_setdomain, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },	/* 562 = freebsd32_cpuset_setdomain */

Modified: stable/12/sys/compat/freebsd32/freebsd32_systrace_args.c
==============================================================================
--- stable/12/sys/compat/freebsd32/freebsd32_systrace_args.c	Mon Nov 12 21:51:36 2018	(r340388)
+++ stable/12/sys/compat/freebsd32/freebsd32_systrace_args.c	Mon Nov 12 21:53:47 2018	(r340389)
@@ -3201,16 +3201,32 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
 		*n_args = 2;
 		break;
 	}
-	/* mknodat */
+#ifdef PAD64_REQUIRED
+	/* freebsd32_mknodat */
 	case 559: {
-		struct mknodat_args *p = params;
+		struct freebsd32_mknodat_args *p = params;
 		iarg[0] = p->fd; /* int */
 		uarg[1] = (intptr_t) p->path; /* char * */
 		iarg[2] = p->mode; /* mode_t */
-		iarg[3] = p->dev; /* dev_t */
-		*n_args = 4;
+		iarg[3] = p->pad; /* int */
+		uarg[4] = p->dev1; /* uint32_t */
+		uarg[5] = p->dev2; /* uint32_t */
+		*n_args = 6;
 		break;
 	}
+#else
+	/* freebsd32_mknodat */
+	case 559: {
+		struct freebsd32_mknodat_args *p = params;
+		iarg[0] = p->fd; /* int */
+		uarg[1] = (intptr_t) p->path; /* char * */
+		iarg[2] = p->mode; /* mode_t */
+		uarg[3] = p->dev1; /* uint32_t */
+		uarg[4] = p->dev2; /* uint32_t */
+		*n_args = 5;
+		break;
+	}
+#endif
 	/* freebsd32_kevent */
 	case 560: {
 		struct freebsd32_kevent_args *p = params;
@@ -8642,7 +8658,8 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 			break;
 		};
 		break;
-	/* mknodat */
+#ifdef PAD64_REQUIRED
+	/* freebsd32_mknodat */
 	case 559:
 		switch(ndx) {
 		case 0:
@@ -8655,12 +8672,42 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 			p = "mode_t";
 			break;
 		case 3:
-			p = "dev_t";
+			p = "int";
 			break;
+		case 4:
+			p = "uint32_t";
+			break;
+		case 5:
+			p = "uint32_t";
+			break;
 		default:
 			break;
 		};
 		break;
+#else
+	/* freebsd32_mknodat */
+	case 559:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "userland char *";
+			break;
+		case 2:
+			p = "mode_t";
+			break;
+		case 3:
+			p = "uint32_t";
+			break;
+		case 4:
+			p = "uint32_t";
+			break;
+		default:
+			break;
+		};
+		break;
+#endif
 	/* freebsd32_kevent */
 	case 560:
 		switch(ndx) {
@@ -10574,11 +10621,19 @@ systrace_return_setargdesc(int sysnum, int ndx, char *
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
-	/* mknodat */
+#ifdef PAD64_REQUIRED
+	/* freebsd32_mknodat */
 	case 559:
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+#else
+	/* freebsd32_mknodat */
+	case 559:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+#endif
 	/* freebsd32_kevent */
 	case 560:
 		if (ndx == 0 || ndx == 1)

Modified: stable/12/sys/sys/sysproto.h
==============================================================================
--- stable/12/sys/sys/sysproto.h	Mon Nov 12 21:51:36 2018	(r340388)
+++ stable/12/sys/sys/sysproto.h	Mon Nov 12 21:53:47 2018	(r340389)
@@ -2487,7 +2487,7 @@ int	freebsd10_pipe(struct thread *, struct freebsd10_p
 struct freebsd11_mknod_args {
 	char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
 	char mode_l_[PADL_(int)]; int mode; char mode_r_[PADR_(int)];
-	char dev_l_[PADL_(int)]; int dev; char dev_r_[PADR_(int)];
+	char dev_l_[PADL_(uint32_t)]; uint32_t dev; char dev_r_[PADR_(uint32_t)];
 };
 struct freebsd11_vadvise_args {
 	char anom_l_[PADL_(int)]; int anom; char anom_r_[PADR_(int)];


More information about the svn-src-all mailing list