The branch stable/13 has been updated by rmacklem:

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

commit 544ebd2a9806f55aff9b33f8c17d3237c81b41d3
Author:     Rick Macklem <rmack...@freebsd.org>
AuthorDate: 2023-05-19 21:34:58 +0000
Commit:     Rick Macklem <rmack...@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

Reply via email to