NFSv4: Ensure the LOCK call cannot use the delegation stateid
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Sat, 20 Apr 2013 05:30:53 +0000 (01:30 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Sat, 20 Apr 2013 05:39:54 +0000 (01:39 -0400)
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>
fs/nfs/nfs4proc.c

index 3984936..ed01a66 100644 (file)
@@ -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