Date: Sat, 1 Feb 2025 09:02:14 GMT From: Gleb Smirnoff <glebius@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: b837f100e1c8 - main - nfs: set vnet(9) context in mountnfs() Message-ID: <202502010902.51192E2S048085@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=b837f100e1c854d1f805b615f0bce5ede85f8552 commit b837f100e1c854d1f805b615f0bce5ede85f8552 Author: Gleb Smirnoff <glebius@FreeBSD.org> AuthorDate: 2025-02-01 01:02:29 +0000 Commit: Gleb Smirnoff <glebius@FreeBSD.org> CommitDate: 2025-02-01 09:00:26 +0000 nfs: set vnet(9) context in mountnfs() This seems to be the right place to set it once and for all, without setting it deep in kgssapi/rpctls/etc leaf functions. Reviewed by: rmacklem Differential Revision: https://reviews.freebsd.org/D48558 --- sys/fs/nfsclient/nfs_clvfsops.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/fs/nfsclient/nfs_clvfsops.c b/sys/fs/nfsclient/nfs_clvfsops.c index 1cbe8e70867f..6bc67b342cbe 100644 --- a/sys/fs/nfsclient/nfs_clvfsops.c +++ b/sys/fs/nfsclient/nfs_clvfsops.c @@ -1524,12 +1524,14 @@ mountnfs(struct nfs_args *argp, struct mount *mp, struct sockaddr *nam, #endif NFSCL_DEBUG(3, "in mnt\n"); + CURVNET_SET(CRED_TO_VNET(cred)); clp = NULL; if (mp->mnt_flag & MNT_UPDATE) { nmp = VFSTONFS(mp); printf("%s: MNT_UPDATE is no longer handled here\n", __func__); free(nam, M_SONAME); free(tlscertname, M_NEWNFSMNT); + CURVNET_RESTORE(); return (0); } else { /* NFS-over-TLS requires that rpctls be functioning. */ @@ -1544,6 +1546,7 @@ mountnfs(struct nfs_args *argp, struct mount *mp, struct sockaddr *nam, if (error != 0) { free(nam, M_SONAME); free(tlscertname, M_NEWNFSMNT); + CURVNET_RESTORE(); return (error); } } @@ -1816,6 +1819,7 @@ mountnfs(struct nfs_args *argp, struct mount *mp, struct sockaddr *nam, */ NFSVOPUNLOCK(*vpp); vfs_cache_root_set(mp, *vpp); + CURVNET_RESTORE(); return (0); } error = EIO; @@ -1844,6 +1848,7 @@ bad: free(nmp->nm_tlscertname, M_NEWNFSMNT); free(nmp, M_NEWNFSMNT); free(nam, M_SONAME); + CURVNET_RESTORE(); return (error); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202502010902.51192E2S048085>