The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=63389aea24f15fe823c775960d77017f1a35f54b
commit 63389aea24f15fe823c775960d77017f1a35f54b Author: Konstantin Belousov <k...@freebsd.org> AuthorDate: 2025-07-10 07:15:13 +0000 Commit: Konstantin Belousov <k...@freebsd.org> CommitDate: 2025-07-10 14:34:45 +0000 inotify: do not call into namei() with a locked vnode PR: 288127 Reviewed by: markj Fixes: f1f230439fa48581f40a57f095627f667a9713c3 Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D51233 --- sys/kern/vfs_inotify.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/kern/vfs_inotify.c b/sys/kern/vfs_inotify.c index 41e73bb41a49..2b42228465a4 100644 --- a/sys/kern/vfs_inotify.c +++ b/sys/kern/vfs_inotify.c @@ -760,9 +760,11 @@ vn_inotify_add_watch(struct vnode *vp, struct inotify_softc *sc, uint32_t mask, * directory if it's specified as a vnode. */ vrefact(vp); + VOP_UNLOCK(vp); NDINIT_ATVP(&nd, LOOKUP, NOFOLLOW, UIO_SYSSPACE, dp->d_name, vp); error = namei(&nd); + vn_lock(vp, LK_SHARED | LK_RETRY); if (error != 0) break; vn_irflag_set_cond(nd.ni_vp, VIRF_INOTIFY_PARENT);