svn commit: r234740 - head/sys/fs/nfsserver
Rick Macklem
rmacklem at FreeBSD.org
Fri Apr 27 20:23:24 UTC 2012
Author: rmacklem
Date: Fri Apr 27 20:23:24 2012
New Revision: 234740
URL: http://svn.freebsd.org/changeset/base/234740
Log:
Fix a leak of namei lookup path buffers that occurs when a
ZFS volume is exported via the new NFS server. The leak occurred
because the new NFS server code didn't handle the case where
a file system sets the SAVENAME flag in its VOP_LOOKUP() and
ZFS does this for the DELETE case.
Tested by: Oliver Brandmueller (ob at gruft.de), hrs
PR: kern/167266
MFC after: 1 month
Modified:
head/sys/fs/nfsserver/nfs_nfsdport.c
Modified: head/sys/fs/nfsserver/nfs_nfsdport.c
==============================================================================
--- head/sys/fs/nfsserver/nfs_nfsdport.c Fri Apr 27 20:16:20 2012 (r234739)
+++ head/sys/fs/nfsserver/nfs_nfsdport.c Fri Apr 27 20:23:24 2012 (r234740)
@@ -1047,6 +1047,8 @@ nfsvno_removesub(struct nameidata *ndp,
else
vput(ndp->ni_dvp);
vput(vp);
+ if ((ndp->ni_cnd.cn_flags & SAVENAME) != 0)
+ nfsvno_relpathbuf(ndp);
NFSEXITCODE(error);
return (error);
}
@@ -1086,6 +1088,8 @@ out:
else
vput(ndp->ni_dvp);
vput(vp);
+ if ((ndp->ni_cnd.cn_flags & SAVENAME) != 0)
+ nfsvno_relpathbuf(ndp);
NFSEXITCODE(error);
return (error);
}
More information about the svn-src-head
mailing list