Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Jun 2020 20:55:46 +0000 (UTC)
From:      Rick Macklem <rmacklem@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r362510 - in projects/nfs-over-tls/sys: compat/freebsd32 kern sys
Message-ID:  <202006222055.05MKtkfR030134@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rmacklem
Date: Mon Jun 22 20:55:45 2020
New Revision: 362510
URL: https://svnweb.freebsd.org/changeset/base/362510

Log:
  Add the rpctls_syscall.

Modified:
  projects/nfs-over-tls/sys/compat/freebsd32/freebsd32_syscall.h
  projects/nfs-over-tls/sys/compat/freebsd32/freebsd32_syscalls.c
  projects/nfs-over-tls/sys/compat/freebsd32/freebsd32_sysent.c
  projects/nfs-over-tls/sys/compat/freebsd32/freebsd32_systrace_args.c
  projects/nfs-over-tls/sys/compat/freebsd32/syscalls.master
  projects/nfs-over-tls/sys/kern/init_sysent.c
  projects/nfs-over-tls/sys/kern/syscalls.c
  projects/nfs-over-tls/sys/kern/syscalls.master
  projects/nfs-over-tls/sys/kern/systrace_args.c
  projects/nfs-over-tls/sys/sys/syscall.h
  projects/nfs-over-tls/sys/sys/syscall.mk
  projects/nfs-over-tls/sys/sys/sysproto.h

Modified: projects/nfs-over-tls/sys/compat/freebsd32/freebsd32_syscall.h
==============================================================================
--- projects/nfs-over-tls/sys/compat/freebsd32/freebsd32_syscall.h	Mon Jun 22 20:42:58 2020	(r362509)
+++ projects/nfs-over-tls/sys/compat/freebsd32/freebsd32_syscall.h	Mon Jun 22 20:55:45 2020	(r362510)
@@ -502,4 +502,5 @@
 #define	FREEBSD32_SYS_sigfastblock	573
 #define	FREEBSD32_SYS___realpathat	574
 #define	FREEBSD32_SYS_close_range	575
-#define	FREEBSD32_SYS_MAXSYSCALL	576
+#define	FREEBSD32_SYS_rpctls_syscall	576
+#define	FREEBSD32_SYS_MAXSYSCALL	577

Modified: projects/nfs-over-tls/sys/compat/freebsd32/freebsd32_syscalls.c
==============================================================================
--- projects/nfs-over-tls/sys/compat/freebsd32/freebsd32_syscalls.c	Mon Jun 22 20:42:58 2020	(r362509)
+++ projects/nfs-over-tls/sys/compat/freebsd32/freebsd32_syscalls.c	Mon Jun 22 20:55:45 2020	(r362510)
@@ -612,4 +612,5 @@ const char *freebsd32_syscallnames[] = {
 	"sigfastblock",			/* 573 = sigfastblock */
 	"__realpathat",			/* 574 = __realpathat */
 	"close_range",			/* 575 = close_range */
+	"rpctls_syscall",			/* 576 = rpctls_syscall */
 };

Modified: projects/nfs-over-tls/sys/compat/freebsd32/freebsd32_sysent.c
==============================================================================
--- projects/nfs-over-tls/sys/compat/freebsd32/freebsd32_sysent.c	Mon Jun 22 20:42:58 2020	(r362509)
+++ projects/nfs-over-tls/sys/compat/freebsd32/freebsd32_sysent.c	Mon Jun 22 20:55:45 2020	(r362510)
@@ -665,4 +665,5 @@ struct sysent freebsd32_sysent[] = {
 	{ AS(sigfastblock_args), (sy_call_t *)sys_sigfastblock, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },	/* 573 = sigfastblock */
 	{ AS(__realpathat_args), (sy_call_t *)sys___realpathat, AUE_REALPATHAT, NULL, 0, 0, 0, SY_THR_STATIC },	/* 574 = __realpathat */
 	{ AS(close_range_args), (sy_call_t *)sys_close_range, AUE_CLOSERANGE, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },	/* 575 = close_range */
+	{ AS(rpctls_syscall_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT },	/* 576 = rpctls_syscall */
 };

Modified: projects/nfs-over-tls/sys/compat/freebsd32/freebsd32_systrace_args.c
==============================================================================
--- projects/nfs-over-tls/sys/compat/freebsd32/freebsd32_systrace_args.c	Mon Jun 22 20:42:58 2020	(r362509)
+++ projects/nfs-over-tls/sys/compat/freebsd32/freebsd32_systrace_args.c	Mon Jun 22 20:55:45 2020	(r362510)
@@ -3376,6 +3376,14 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
 		*n_args = 3;
 		break;
 	}
+	/* rpctls_syscall */
+	case 576: {
+		struct rpctls_syscall_args *p = params;
+		iarg[0] = p->op; /* int */
+		uarg[1] = (intptr_t) p->path; /* const char * */
+		*n_args = 2;
+		break;
+	}
 	default:
 		*n_args = 0;
 		break;
@@ -9103,6 +9111,19 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 			break;
 		};
 		break;
+	/* rpctls_syscall */
+	case 576:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "userland const char *";
+			break;
+		default:
+			break;
+		};
+		break;
 	default:
 		break;
 	};
@@ -10999,6 +11020,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *
 		break;
 	/* close_range */
 	case 575:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* rpctls_syscall */
+	case 576:
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;

Modified: projects/nfs-over-tls/sys/compat/freebsd32/syscalls.master
==============================================================================
--- projects/nfs-over-tls/sys/compat/freebsd32/syscalls.master	Mon Jun 22 20:42:58 2020	(r362509)
+++ projects/nfs-over-tls/sys/compat/freebsd32/syscalls.master	Mon Jun 22 20:55:45 2020	(r362510)
@@ -1164,5 +1164,8 @@
 				    char *buf, size_t size, int flags); }
 575	AUE_CLOSERANGE	NOPROTO	{ int close_range(u_int lowfd, u_int highfd, \
 				    int flags); }
+; 576 is initialised by the krpc code, if present.
+576	AUE_NULL	NOSTD|NOPROTO	{ int rpctls_syscall(int op, \
+				    const char *path); }
 
 ; vim: syntax=off

Modified: projects/nfs-over-tls/sys/kern/init_sysent.c
==============================================================================
--- projects/nfs-over-tls/sys/kern/init_sysent.c	Mon Jun 22 20:42:58 2020	(r362509)
+++ projects/nfs-over-tls/sys/kern/init_sysent.c	Mon Jun 22 20:55:45 2020	(r362510)
@@ -631,4 +631,5 @@ struct sysent sysent[] = {
 	{ AS(sigfastblock_args), (sy_call_t *)sys_sigfastblock, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },	/* 573 = sigfastblock */
 	{ AS(__realpathat_args), (sy_call_t *)sys___realpathat, AUE_REALPATHAT, NULL, 0, 0, 0, SY_THR_STATIC },	/* 574 = __realpathat */
 	{ AS(close_range_args), (sy_call_t *)sys_close_range, AUE_CLOSERANGE, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },	/* 575 = close_range */
+	{ AS(rpctls_syscall_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT },	/* 576 = rpctls_syscall */
 };

Modified: projects/nfs-over-tls/sys/kern/syscalls.c
==============================================================================
--- projects/nfs-over-tls/sys/kern/syscalls.c	Mon Jun 22 20:42:58 2020	(r362509)
+++ projects/nfs-over-tls/sys/kern/syscalls.c	Mon Jun 22 20:55:45 2020	(r362510)
@@ -582,4 +582,5 @@ const char *syscallnames[] = {
 	"sigfastblock",			/* 573 = sigfastblock */
 	"__realpathat",			/* 574 = __realpathat */
 	"close_range",			/* 575 = close_range */
+	"rpctls_syscall",			/* 576 = rpctls_syscall */
 };

Modified: projects/nfs-over-tls/sys/kern/syscalls.master
==============================================================================
--- projects/nfs-over-tls/sys/kern/syscalls.master	Mon Jun 22 20:42:58 2020	(r362509)
+++ projects/nfs-over-tls/sys/kern/syscalls.master	Mon Jun 22 20:55:45 2020	(r362510)
@@ -3234,6 +3234,13 @@
 		    int flags
 		);
 	}
+; 576 is initialised by the krpc code, if present.
+576	AUE_NULL	NOSTD {
+		int rpctls_syscall(
+		    int op,
+		    _In_z_ const char *path
+		);
+	}
 
 ; Please copy any additions and changes to the following compatability tables:
 ; sys/compat/freebsd32/syscalls.master

Modified: projects/nfs-over-tls/sys/kern/systrace_args.c
==============================================================================
--- projects/nfs-over-tls/sys/kern/systrace_args.c	Mon Jun 22 20:42:58 2020	(r362509)
+++ projects/nfs-over-tls/sys/kern/systrace_args.c	Mon Jun 22 20:55:45 2020	(r362510)
@@ -3368,6 +3368,14 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
 		*n_args = 3;
 		break;
 	}
+	/* rpctls_syscall */
+	case 576: {
+		struct rpctls_syscall_args *p = params;
+		iarg[0] = p->op; /* int */
+		uarg[1] = (intptr_t) p->path; /* const char * */
+		*n_args = 2;
+		break;
+	}
 	default:
 		*n_args = 0;
 		break;
@@ -9008,6 +9016,19 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 			break;
 		};
 		break;
+	/* rpctls_syscall */
+	case 576:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "userland const char *";
+			break;
+		default:
+			break;
+		};
+		break;
 	default:
 		break;
 	};
@@ -10931,6 +10952,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *
 		break;
 	/* close_range */
 	case 575:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* rpctls_syscall */
+	case 576:
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;

Modified: projects/nfs-over-tls/sys/sys/syscall.h
==============================================================================
--- projects/nfs-over-tls/sys/sys/syscall.h	Mon Jun 22 20:42:58 2020	(r362509)
+++ projects/nfs-over-tls/sys/sys/syscall.h	Mon Jun 22 20:55:45 2020	(r362510)
@@ -511,4 +511,5 @@
 #define	SYS_sigfastblock	573
 #define	SYS___realpathat	574
 #define	SYS_close_range	575
-#define	SYS_MAXSYSCALL	576
+#define	SYS_rpctls_syscall	576
+#define	SYS_MAXSYSCALL	577

Modified: projects/nfs-over-tls/sys/sys/syscall.mk
==============================================================================
--- projects/nfs-over-tls/sys/sys/syscall.mk	Mon Jun 22 20:42:58 2020	(r362509)
+++ projects/nfs-over-tls/sys/sys/syscall.mk	Mon Jun 22 20:55:45 2020	(r362510)
@@ -416,4 +416,5 @@ MIASM =  \
 	shm_rename.o \
 	sigfastblock.o \
 	__realpathat.o \
-	close_range.o
+	close_range.o \
+	rpctls_syscall.o

Modified: projects/nfs-over-tls/sys/sys/sysproto.h
==============================================================================
--- projects/nfs-over-tls/sys/sys/sysproto.h	Mon Jun 22 20:42:58 2020	(r362509)
+++ projects/nfs-over-tls/sys/sys/sysproto.h	Mon Jun 22 20:55:45 2020	(r362510)
@@ -1832,6 +1832,10 @@ struct close_range_args {
 	char highfd_l_[PADL_(u_int)]; u_int highfd; char highfd_r_[PADR_(u_int)];
 	char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)];
 };
+struct rpctls_syscall_args {
+	char op_l_[PADL_(int)]; int op; char op_r_[PADR_(int)];
+	char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+};
 int	nosys(struct thread *, struct nosys_args *);
 void	sys_sys_exit(struct thread *, struct sys_exit_args *);
 int	sys_fork(struct thread *, struct fork_args *);
@@ -2222,6 +2226,7 @@ int	sys_shm_rename(struct thread *, struct shm_rename_
 int	sys_sigfastblock(struct thread *, struct sigfastblock_args *);
 int	sys___realpathat(struct thread *, struct __realpathat_args *);
 int	sys_close_range(struct thread *, struct close_range_args *);
+int	sys_rpctls_syscall(struct thread *, struct rpctls_syscall_args *);
 
 #ifdef COMPAT_43
 
@@ -3152,6 +3157,7 @@ int	freebsd12_closefrom(struct thread *, struct freebs
 #define	SYS_AUE_sigfastblock	AUE_NULL
 #define	SYS_AUE___realpathat	AUE_REALPATHAT
 #define	SYS_AUE_close_range	AUE_CLOSERANGE
+#define	SYS_AUE_rpctls_syscall	AUE_NULL
 
 #undef PAD_
 #undef PADL_



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