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>