diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-02-02 18:37:43 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-02-03 18:35:02 -0500 |
commit | a995e9eb3258df6ab2e9f958e08003978e50d568 (patch) | |
tree | 03caf30a4c79f5b2254ad1f15b98bfe4d3519983 /fs/lockd/svclock.c | |
parent | ce35a81a71f405031ed6fd0d454d3aaa55dc8ed2 (diff) |
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: | |||
593 | 593 | ||
594 | /* Call the client */ | 594 | /* Call the client */ |
595 | kref_get(&block->b_count); | 595 | kref_get(&block->b_count); |
596 | if (nlm_async_call(block->b_call, NLMPROC_GRANTED_MSG, | 596 | nlm_async_call(block->b_call, NLMPROC_GRANTED_MSG, &nlmsvc_grant_ops); |
597 | &nlmsvc_grant_ops) < 0) | ||
598 | nlmsvc_release_block(block); | ||
599 | } | 597 | } |
600 | 598 | ||
601 | /* | 599 | /* |