summaryrefslogtreecommitdiff
path: root/fs/nfsd
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@redhat.com>2011-04-15 18:08:26 -0400
committerJ. Bruce Fields <bfields@redhat.com>2011-04-18 13:30:56 -0400
commit4ee63624fd927376b97ead3a8d00728d437bc8e8 (patch)
treeb30cd55c7fbcb5c3c76d62db9a7b467cbf17e993 /fs/nfsd
parenta6360dd37e1a144ed11e6548371bade559a1e4df (diff)
downloadlinux-3.10-4ee63624fd927376b97ead3a8d00728d437bc8e8.tar.gz
linux-3.10-4ee63624fd927376b97ead3a8d00728d437bc8e8.tar.bz2
linux-3.10-4ee63624fd927376b97ead3a8d00728d437bc8e8.zip
nfsd4: fix struct file leak on delegation
Introduced by acfdf5c383b38f7f4dddae41b97c97f1ae058f49. Cc: stable@kernel.org Reported-by: Gerhard Heift <ml-nfs-linux-20110412-ef47@gheift.de> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd')
-rw-r--r--fs/nfsd/nfs4state.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index aa309aa93fe..c79a98319e4 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -258,6 +258,7 @@ static void nfs4_put_deleg_lease(struct nfs4_file *fp)
if (atomic_dec_and_test(&fp->fi_delegees)) {
vfs_setlease(fp->fi_deleg_file, F_UNLCK, &fp->fi_lease);
fp->fi_lease = NULL;
+ fput(fp->fi_deleg_file);
fp->fi_deleg_file = NULL;
}
}