Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Jul 1997 16:44:16 +0100 (BST)
From:      Doug Rabson <dfr@nlsystems.com>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        current@freebsd.org, dfr@freebsd.org
Subject:   Re: more WebNFS merge bugs, one serious
Message-ID:  <Pine.BSF.3.95q.970722163853.341A-100000@herring.nlsystems.com>
In-Reply-To: <199707221407.AAA30817@godzilla.zeta.org.au>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 23 Jul 1997, Bruce Evans wrote:

> The WebNFS merge broke binary compatiblity of mount_msdos for the same
> reason that it broke binary compatiblity of mount_cd9660.  The usual
> symptom is bizarre modes for all files under the mount point.  This is
> because for old mount binaries, the extra field in export_args is taken
> from the uid arg, the uid arg is taken from the gid arg, the mode arg
> is taken from stack garbage, and the corrupted args affect everything
> under the mount point.

Sigh.  How do you think I should fix this?  It would be hard to cope with
the old structure since the args are different for each mount.

> 
> The WebNFS merge also broke nfs_namei() by deleting the `*retdirp = dp;'
> line.  This usually causes nfserv_create() to panic and probably causes
> vnode reference leaks in other callers.  nfserv_create() panics because
> it is sloppy about checking `dirp == 0' and usually accesses the null
> dirp's set by nfs_namei().  Other callers are apparently more careful.
> ome callers have bogus initializations of dirp to 0.  nfs_namei() always
> initializes it, and the initializations have style bugs.  I haven't fixed
> bugs in the callers.
> 
> This diff was obtained by comparing the current, old and NetBSD versions.
> It also fixes a memory leak for symlinks with ndp->ni_pathlen == 1,
> and removes a superfluous initialization of cnp->cn_proc, and changes
> the style to match NetBSD's.  I don't know if we still need the hash
> calculations.

Thanks for the fixes.  Is the hash stuff still used by the name cache?  I
can't remember exactly what Poul did to it when he was changing the cache.

--
Doug Rabson				Mail:  dfr@nlsystems.com
Nonlinear Systems Ltd.			Phone: +44 181 951 1891
					Fax:   +44 181 381 1039




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95q.970722163853.341A-100000>