svn commit: r200084 - head/sys/nfsserver
John Baldwin
jhb at FreeBSD.org
Thu Dec 3 20:59:28 UTC 2009
Author: jhb
Date: Thu Dec 3 20:59:28 2009
New Revision: 200084
URL: http://svn.freebsd.org/changeset/base/200084
Log:
Properly return an error reply if an NFS remove or link operation fails.
Previously the failing operation would allocate an mbuf and construct an
error reply, but because the function did not return 0, the NFS server
assumed it had failed to generate a reply and would leak the reply mbuf as
well as not sending the reply to the NFS client.
PR: kern/140853
Submitted by: Ted Faber faber at isi edu (remove)
Reviewed by: rmacklem (remove)
MFC after: 1 week
Modified:
head/sys/nfsserver/nfs_serv.c
Modified: head/sys/nfsserver/nfs_serv.c
==============================================================================
--- head/sys/nfsserver/nfs_serv.c Thu Dec 3 20:55:09 2009 (r200083)
+++ head/sys/nfsserver/nfs_serv.c Thu Dec 3 20:59:28 2009 (r200084)
@@ -1810,10 +1810,9 @@ out:
}
ereply:
nfsm_reply(NFSX_WCCDATA(v3));
- if (v3) {
+ if (v3)
nfsm_srvwcc_data(dirfor_ret, &dirfor, diraft_ret, &diraft);
- error = 0;
- }
+ error = 0;
nfsmout:
NDFREE(&nd, NDF_ONLY_PNBUF);
if (nd.ni_dvp) {
@@ -2187,8 +2186,8 @@ ereply:
if (v3) {
nfsm_srvpostop_attr(getret, &at);
nfsm_srvwcc_data(dirfor_ret, &dirfor, diraft_ret, &diraft);
- error = 0;
}
+ error = 0;
/* fall through */
nfsmout:
More information about the svn-src-head
mailing list