diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2014-01-29 12:12:15 -0500 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2014-01-29 12:12:15 -0500 |
commit | cab92c19821a814ecf5a5279e2699bf28e66caee (patch) | |
tree | e133e6d392e98ebdcab740dbd92701c1f4a2e7bb /fs/nfs/nfs4proc.c | |
parent | f9c96fcc501a43dbc292b17fc0ded4b54e63b79d (diff) | |
download | op-kernel-dev-cab92c19821a814ecf5a5279e2699bf28e66caee.zip op-kernel-dev-cab92c19821a814ecf5a5279e2699bf28e66caee.tar.gz |
NFSv4: Fix a slot leak in nfs40_sequence_done
The check for whether or not we sent an RPC call in nfs40_sequence_done
is insufficient to decide whether or not we are holding a session slot,
and thus should not be used to decide when to free that slot.
This patch replaces the RPC_WAS_SENT() test with the correct test for
whether or not slot == NULL.
Cc: Chuck Lever <chuck.lever@oracle.com>
Cc: stable@vger.kernel.org # 3.12+
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'fs/nfs/nfs4proc.c')
-rw-r--r-- | fs/nfs/nfs4proc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index ae00c3e..493e9cc 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -539,7 +539,7 @@ static int nfs40_sequence_done(struct rpc_task *task, struct nfs4_slot *slot = res->sr_slot; struct nfs4_slot_table *tbl; - if (!RPC_WAS_SENT(task)) + if (slot == NULL) goto out; tbl = slot->table; |