Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Apr 2023 15:45:38 GMT
From:      Mateusz Guzik <mjg@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: f87a9f51ef2b - main - vfs: validate that a mount point with FPLOOKUP has vop_fplookup ops
Message-ID:  <202304061545.336FjcZO079662@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by mjg:

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

commit f87a9f51ef2b5a02b663c02ddd2ac663a5a45a88
Author:     Mateusz Guzik <mjg@FreeBSD.org>
AuthorDate: 2023-04-05 23:10:34 +0000
Commit:     Mateusz Guzik <mjg@FreeBSD.org>
CommitDate: 2023-04-06 15:20:41 +0000

    vfs: validate that a mount point with FPLOOKUP has vop_fplookup ops
---
 sys/kern/vfs_subr.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index 5c1819800d96..96adc6ff3493 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -1800,6 +1800,10 @@ getnewvnode(const char *tag, struct mount *mp, struct vop_vector *vops,
 
 	KASSERT(vops->registered,
 	    ("%s: not registered vector op %p\n", __func__, vops));
+	if (mp != NULL && (mp->mnt_kern_flag & MNTK_FPLOOKUP) != 0) {
+		MPASS(vops->vop_fplookup_vexec != VOP_PANIC);
+		MPASS(vops->vop_fplookup_symlink != VOP_PANIC);
+	}
 
 	td = curthread;
 	if (td->td_vp_reserved != NULL) {



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