CVS: cvs.openbsd.org: src
Kirill A. Korinsky <[email protected]>
| Newsgroups | gmane.os.openbsd.cvs |
|---|---|
| Message-ID | <[email protected]> |
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@