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/nfs4proc.c | |
parent | 92b40e93849e29f9ca661de6442bb66282738bf7 (diff) | |
download | op-kernel-dev-8e472f33b5ba742f9bfcf16f0328f5a7842b32d1.zip op-kernel-dev-8e472f33b5ba742f9bfcf16f0328f5a7842b32d1.tar.gz |
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/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 3984936..ed01a66 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) if (nfs_wait_on_sequence(data->arg.open_seqid, task) != 0) { goto out_release_lock_seqid; } - data->arg.open_stateid = &state->stateid; + data->arg.open_stateid = &state->open_stateid; data->arg.new_lock_owner = 1; data->res.open_seqid = data->arg.open_seqid; } else |