git: 544ebd2a9806 - stable/13 - Revert "kern_jail.c: Remove #ifdefs for VNET_NFSD"

From: Rick Macklem <rmacklem_at_FreeBSD.org>
Date: Fri, 19 May 2023 21:36:13 UTC
The branch stable/13 has been updated by rmacklem:

URL: https://cgit.FreeBSD.org/src/commit/?id=544ebd2a9806f55aff9b33f8c17d3237c81b41d3

commit 544ebd2a9806f55aff9b33f8c17d3237c81b41d3
Author:     Rick Macklem <rmacklem@FreeBSD.org>
AuthorDate: 2023-05-19 21:34:58 +0000
Commit:     Rick Macklem <rmacklem@FreeBSD.org>
CommitDate: 2023-05-19 21:34:58 +0000

    Revert "kern_jail.c: Remove #ifdefs for VNET_NFSD"
    
    Revert this commit until I can figure out build issue.
    
    This reverts commit eb6588af1585f4c2d7a1a4df6bae164bd6a063a6.
---
 sys/kern/kern_jail.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c
index d43d2326cfec..0203dcd0faf1 100644
--- a/sys/kern/kern_jail.c
+++ b/sys/kern/kern_jail.c
@@ -216,7 +216,7 @@ static struct bool_flags pr_flag_allow[NBBY * NBPW] = {
 	{"allow.unprivileged_proc_debug", "allow.nounprivileged_proc_debug",
 	 PR_ALLOW_UNPRIV_DEBUG},
 	{"allow.suser", "allow.nosuser", PR_ALLOW_SUSER},
-#ifdef VIMAGE
+#if defined(VNET_NFSD) && defined(VIMAGE) && defined(NFSD)
 	{"allow.nfsd", "allow.nonfsd", PR_ALLOW_NFSD},
 #endif
 };
@@ -1888,10 +1888,12 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags)
 	}
 #endif
 
+#ifdef VNET_NFSD
 	if (born && pr != &prison0 && (pr->pr_allow & PR_ALLOW_NFSD) != 0 &&
 	    (pr->pr_root->v_vflag & VV_ROOT) == 0)
 		printf("Warning jail jid=%d: mountd/nfsd requires a separate"
 		   " file system\n", pr->pr_id);
+#endif
 
 	drflags &= ~PD_KILL;
 	td->td_retval[0] = pr->pr_id;
@@ -3471,7 +3473,12 @@ prison_priv_check(struct ucred *cred, int priv)
 	case PRIV_NFS_DAEMON:
 	case PRIV_VFS_GETFH:
 	case PRIV_VFS_MOUNT_EXPORTED:
+#ifdef VNET_NFSD
 		if (!prison_check_nfsd(cred))
+#else
+		printf("running nfsd in a prison requires a kernel "
+		    "built with ''options VNET_NFSD''\n");
+#endif
 			return (EPERM);
 #ifdef notyet
 	case PRIV_NFS_LOCKD:
@@ -4223,7 +4230,7 @@ SYSCTL_JAIL_PARAM(_allow, unprivileged_proc_debug, CTLTYPE_INT | CTLFLAG_RW,
     "B", "Unprivileged processes may use process debugging facilities");
 SYSCTL_JAIL_PARAM(_allow, suser, CTLTYPE_INT | CTLFLAG_RW,
     "B", "Processes in jail with uid 0 have privilege");
-#ifdef VIMAGE
+#if defined(VNET_NFSD) && defined(VIMAGE) && defined(NFSD)
 SYSCTL_JAIL_PARAM(_allow, nfsd, CTLTYPE_INT | CTLFLAG_RW,
     "B", "Mountd/nfsd may run in the jail");
 #endif