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>