aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Brown <neilb@cse.unsw.edu.au>2005-03-30 16:58:38 -0800
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-03-30 16:58:38 -0800
commit05882be9f254e58ee0e13359949b493e89eb181b (patch)
tree8919e3974c83dca0017bd3918055bb8321545a5a
parent700e5f1d7cf872e0f4e747ce2cb99960f45eaa0e (diff)
downloadhistory-05882be9f254e58ee0e13359949b493e89eb181b.tar.gz
[PATCH] nfsd4: fix use after put() in cb_recall
nfs4_put_delegation() did a dprintk using a pointer that it had just called a put() on. This could cause a dereference of a pointer to freed memory in some situations. Signed-off-by: Andy Adamson <andros@citi.umich.edu> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--fs/nfsd/nfs4callback.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c
index 271c231e7ba440..c70de9c2af7465 100644
--- a/fs/nfsd/nfs4callback.c
+++ b/fs/nfsd/nfs4callback.c
@@ -541,7 +541,7 @@ out:
atomic_set(&clp->cl_callback.cb_set, 0);
/* Success or failure, now we're either waiting for lease expiration
* or deleg_return. */
- nfs4_put_delegation(dp);
dprintk("NFSD: nfs4_cb_recall: dp %p dl_flock %p dl_count %d\n",dp, dp->dl_flock, atomic_read(&dp->dl_count));
+ nfs4_put_delegation(dp);
return;
}