diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-04-20 01:30:53 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-04-20 01:39:54 -0400 |
commit | 8e472f33b5ba742f9bfcf16f0328f5a7842b32d1 (patch) | |
tree | 9999ba6a0491bf3a3ee7a71540a5aa70e0d37a2d /fs/nfs | |
parent | 92b40e93849e29f9ca661de6442bb66282738bf7 (diff) |
NFSv4: Ensure the LOCK call cannot use the delegation stateid
Defensive patch to ensure that we copy the state->open_stateid, which
can never be set to the delegation stateid.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs')
-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 39849360f9f6..ed01a66dc391 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c | |||
@@ -4793,7 +4793,7 @@ static void nfs4_lock_prepare(struct rpc_task *task, void *calldata) | |||
4793 | if (nfs_wait_on_sequence(data->arg.open_seqid, task) != 0) { | 4793 | if (nfs_wait_on_sequence(data->arg.open_seqid, task) != 0) { |
4794 | goto out_release_lock_seqid; | 4794 | goto out_release_lock_seqid; |
4795 | } | 4795 | } |
4796 | data->arg.open_stateid = &state->stateid; | 4796 | data->arg.open_stateid = &state->open_stateid; |
4797 | data->arg.new_lock_owner = 1; | 4797 | data->arg.new_lock_owner = 1; |
4798 | data->res.open_seqid = data->arg.open_seqid; | 4798 | data->res.open_seqid = data->arg.open_seqid; |
4799 | } else | 4799 | } else |