Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Oct 1995 15:49:40 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        current@freebsd.org
Subject:   NFS server problems
Message-ID:  <199510022249.PAA22715@phaeton.artisoft.com>

next in thread | raw e-mail | index | archive | help
I've discovered a problem in the VFS server code, specifically with
the nfsrv_create() function in the NFSV3CREATE_GUARDED case.  The
error code is set to EEXIST, but since the nd.ni_vp is non-NULL,
it falls through to the "truncate existing file" case instead of
actually returning that error.

The error code is actually overridden by an access check which
(apparently) does not take "read only" into account and subsequently
truncates the file to the requested size (if that is not -1).

Instead one would expect it to return EEXIST, the error code set, and
skip subsequent operations in the create routine.


There are also some VOP_ABORTOP ordering issues that aren't critical
if the NFS server is exporting a UFS dile system, but which might be
an issue for a non-UFS file system.

The abort operation should take place before namidata structure
contents are touched.


Can someone sanity check me on these two things?


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



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