diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-02-02 15:37:43 -0800 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-02-03 15:35:02 -0800 |
commit | a995e9eb3258df6ab2e9f958e08003978e50d568 (patch) | |
tree | 03caf30a4c79f5b2254ad1f15b98bfe4d3519983 /fs/lockd/svclock.c | |
parent | ce35a81a71f405031ed6fd0d454d3aaa55dc8ed2 (diff) | |
download | op-kernel-dev-a995e9eb3258df6ab2e9f958e08003978e50d568.zip op-kernel-dev-a995e9eb3258df6ab2e9f958e08003978e50d568.tar.gz |
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 c7db0a5..cf51f84 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); } /* |