diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-02-03 00:37:43 +0100 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-02-04 00:35:02 +0100 |
commit | a995e9eb3258df6ab2e9f958e08003978e50d568 (patch) | |
tree | 03caf30a4c79f5b2254ad1f15b98bfe4d3519983 /fs/lockd/svclock.c | |
parent | Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 (diff) | |
download | linux-a995e9eb3258df6ab2e9f958e08003978e50d568.tar.xz linux-a995e9eb3258df6ab2e9f958e08003978e50d568.zip |
NLM: Fix double free in __nlm_async_call
rpc_call_async() will always call rpc_release_calldata(), so it is an
error for __nlm_async_call() to do so as well.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/lockd/svclock.c')
-rw-r--r-- | fs/lockd/svclock.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/lockd/svclock.c b/fs/lockd/svclock.c index c7db0a5bccdc..cf51f849e76c 100644 --- a/fs/lockd/svclock.c +++ b/fs/lockd/svclock.c @@ -593,9 +593,7 @@ callback: /* Call the client */ kref_get(&block->b_count); - if (nlm_async_call(block->b_call, NLMPROC_GRANTED_MSG, - &nlmsvc_grant_ops) < 0) - nlmsvc_release_block(block); + nlm_async_call(block->b_call, NLMPROC_GRANTED_MSG, &nlmsvc_grant_ops); } /* |