git: 544ebd2a9806 - stable/13 - Revert "kern_jail.c: Remove #ifdefs for VNET_NFSD"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
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