Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Jun 1999 19:23:35 -0700 (PDT)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        "David E. Cross" <crossd@cs.rpi.edu>, Matthew Jacob <mjacob@feral.com>, Guido van Rooij <guido@gvr.org>, freebsd-hackers@FreeBSD.ORG, peter@FreeBSD.ORG, crossd@cs.rpi.edu
Subject:   VOP_*() routines, lookup(), and namei() leave garbage pointers on error
Message-ID:  <199906160223.TAA24603@apollo.backplane.com>
References:  <199906152205.SAA39993@cs.rpi.edu> <199906152323.QAA23668@apollo.backplane.com>

next in thread | previous in thread | raw e-mail | index | archive | help
    Bleh.  More fragility.  VOP_*() routines, lookup(), and namei() leave
    garbage pointers in nameidata and returned-vnode structures when they
    return an error.  They really ought to NULL-out those garbage pointers.  
    It's on my list to fix.  It makes it difficult for the NFS code to keep 
    track of its state.  That plus the almost total lack of state tracking
    for the path name component allocation state, which makes it difficult
    to sanity-check the zfree's.

    For example, if lookup() returns an error it may leave an invalid ni_dvp
    pointer in the nameidata.  VOP_SYMLINK returns an invalid vp ( all callers
    of VOP_SYMLINK just ignore it, but that still doesn't make it right ),
    and namei() also has similar problems when it returns na error.

						-Matt



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




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