CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]  2026/06/30 08:04:04

Modified files:
        sys/isofs/cd9660: cd9660_node.c 
        sys/isofs/udf  : udf_vnops.c 
        sys/kern       : vfs_subr.c 
        sys/miscfs/fuse: fuse_ihash.c 
        sys/msdosfs    : msdosfs_denode.c 
        sys/nfs        : nfs_node.c 
        sys/ntfs       : ntfs_vfsops.c 
        sys/ufs/ufs    : ufs_ihash.c 

Log message:
sys: check vnode identity after vget

Several vnode lookup paths keep a vnode pointer from a filesystem hash,
node tree, or alias list, then call vget() after dropping or lacking the
lookup side protection. If the vnode is recycled while vget() waits, the
pointer can still name a valid struct vnode, but no longer the object
found by the lookup.

Record v_id before vget() and retry the lookup if the id changes after
the vnode is locked. This matches the existing namecache pattern and
turns stale vnode hits into lookup retries instead of returning the
wrong object.

OK: claudio@

Reply via email to