aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorWeston Andros Adamson <dros@netapp.com>2012-09-06 15:54:27 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-09-06 16:01:33 -0400
commit01913b49cf1dc6409a07dd2a4cc6af2e77f3c410 (patch)
tree973b1b0ea34c8c809922f84f8941905053142b6f /fs
parentNFSv4: Fix buffer overflow checking in __nfs4_get_acl_uncached (diff)
downloadlinux-dev-01913b49cf1dc6409a07dd2a4cc6af2e77f3c410.tar.xz
linux-dev-01913b49cf1dc6409a07dd2a4cc6af2e77f3c410.zip
NFS: return error from decode_getfh in decode open
If decode_getfh failed, nfs4_xdr_dec_open would return 0 since the last decode_* call must have succeeded. Cc: stable@vger.kernel.org Signed-off-by: Weston Andros Adamson <dros@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/nfs/nfs4xdr.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c
index 541e796e6db5..8dba6bd48557 100644
--- a/fs/nfs/nfs4xdr.c
+++ b/fs/nfs/nfs4xdr.c
@@ -6225,7 +6225,8 @@ static int nfs4_xdr_dec_open(struct rpc_rqst *rqstp, struct xdr_stream *xdr,
status = decode_open(xdr, res);
if (status)
goto out;
- if (decode_getfh(xdr, &res->fh) != 0)
+ status = decode_getfh(xdr, &res->fh);
+ if (status)
goto out;
decode_getfattr(xdr, res->f_attr, res->server);
out: