aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2012-04-18 12:20:10 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-04-19 13:23:00 -0400
commit05ffe24f5290dc095f98fbaf84afe51ef404ccc5 (patch)
tree555ddc0f2266861b3532ea1ab9d70def1176ab55 /fs/nfs
parentca138f368a36dba40d3ef4a53d64af2011cda3c7 (diff)
NFSv4: Ensure that the LOCK code sets exception->inode
All callers of nfs4_handle_exception() that need to handle NFS4ERR_OPENMODE correctly should set exception->inode Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Cc: stable@vger.kernel.org
Diffstat (limited to 'fs/nfs')
-rw-r--r--fs/nfs/nfs4proc.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index f82bde005a82..3c787d02131b 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -4558,7 +4558,9 @@ static int _nfs4_do_setlk(struct nfs4_state *state, int cmd, struct file_lock *f
4558static int nfs4_lock_reclaim(struct nfs4_state *state, struct file_lock *request) 4558static int nfs4_lock_reclaim(struct nfs4_state *state, struct file_lock *request)
4559{ 4559{
4560 struct nfs_server *server = NFS_SERVER(state->inode); 4560 struct nfs_server *server = NFS_SERVER(state->inode);
4561 struct nfs4_exception exception = { }; 4561 struct nfs4_exception exception = {
4562 .inode = state->inode,
4563 };
4562 int err; 4564 int err;
4563 4565
4564 do { 4566 do {
@@ -4576,7 +4578,9 @@ static int nfs4_lock_reclaim(struct nfs4_state *state, struct file_lock *request
4576static int nfs4_lock_expired(struct nfs4_state *state, struct file_lock *request) 4578static int nfs4_lock_expired(struct nfs4_state *state, struct file_lock *request)
4577{ 4579{
4578 struct nfs_server *server = NFS_SERVER(state->inode); 4580 struct nfs_server *server = NFS_SERVER(state->inode);
4579 struct nfs4_exception exception = { }; 4581 struct nfs4_exception exception = {
4582 .inode = state->inode,
4583 };
4580 int err; 4584 int err;
4581 4585
4582 err = nfs4_set_lock_state(state, request); 4586 err = nfs4_set_lock_state(state, request);
@@ -4676,6 +4680,7 @@ static int nfs4_proc_setlk(struct nfs4_state *state, int cmd, struct file_lock *
4676{ 4680{
4677 struct nfs4_exception exception = { 4681 struct nfs4_exception exception = {
4678 .state = state, 4682 .state = state,
4683 .inode = state->inode,
4679 }; 4684 };
4680 int err; 4685 int err;
4681 4686