diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2008-04-04 15:08:02 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2008-04-19 16:53:33 -0400 |
commit | 536ff0f809b0f4d56e1c41e66768d330668e0a55 (patch) | |
tree | fa2b17cc442227d5157b644d8b3fe188b4922983 /fs/nfs/nfs4proc.c | |
parent | 4a9af59fee0701d9db99bc148d87b8852d6d6dd8 (diff) |
NFSv4: Ensure we don't corrupt fl->fl_flags in nfs4_proc_unlck
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, 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); |
3288 | out: | 3289 | out: |
3290 | request->fl_flags = fl_flags; | ||
3289 | return status; | 3291 | return status; |
3290 | } | 3292 | } |
3291 | 3293 | ||