aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2008-04-04 15:08:02 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2008-04-19 16:53:33 -0400
commit536ff0f809b0f4d56e1c41e66768d330668e0a55 (patch)
treefa2b17cc442227d5157b644d8b3fe188b4922983
parent4a9af59fee0701d9db99bc148d87b8852d6d6dd8 (diff)
NFSv4: Ensure we don't corrupt fl->fl_flags in nfs4_proc_unlck
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-rw-r--r--fs/nfs/nfs4proc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 9f2759da74eb..a1069325b876 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -3263,6 +3263,7 @@ static int nfs4_proc_unlck(struct nfs4_state *state, int cmd, struct file_lock *
3263 struct nfs4_lock_state *lsp; 3263 struct nfs4_lock_state *lsp;
3264 struct rpc_task *task; 3264 struct rpc_task *task;
3265 int status = 0; 3265 int status = 0;
3266 unsigned char fl_flags = request->fl_flags;
3266 3267
3267 status = nfs4_set_lock_state(state, request); 3268 status = nfs4_set_lock_state(state, request);
3268 /* Unlock _before_ we do the RPC call */ 3269 /* Unlock _before_ we do the RPC call */
@@ -3286,6 +3287,7 @@ static int nfs4_proc_unlck(struct nfs4_state *state, int cmd, struct file_lock *
3286 status = nfs4_wait_for_completion_rpc_task(task); 3287 status = nfs4_wait_for_completion_rpc_task(task);
3287 rpc_put_task(task); 3288 rpc_put_task(task);
3288out: 3289out:
3290 request->fl_flags = fl_flags;
3289 return status; 3291 return status;
3290} 3292}
3291 3293