diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 739d22089f97..9e72fab53ec9 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -1918,9 +1918,16 @@ freevnode(struct vnode *vp) mac_vnode_destroy(vp); #endif if (vp->v_pollinfo != NULL) { - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); +#ifdef WITNESS + /* + * Shut up witness about the lock + */ + VOP_LOCK(vp, LK_EXCLUSIVE | LK_NOWAIT); +#endif destroy_vpollinfo(vp->v_pollinfo); +#ifdef WITNESS VOP_UNLOCK(vp); +#endif vp->v_pollinfo = NULL; } vp->v_mountedhere = NULL;