diff options
author | Weston Andros Adamson <dros@netapp.com> | 2012-09-06 21:54:27 +0200 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-09-06 22:01:33 +0200 |
commit | 01913b49cf1dc6409a07dd2a4cc6af2e77f3c410 (patch) | |
tree | 973b1b0ea34c8c809922f84f8941905053142b6f /fs/nfs/nfs4xdr.c | |
parent | NFSv4: Fix buffer overflow checking in __nfs4_get_acl_uncached (diff) | |
download | linux-01913b49cf1dc6409a07dd2a4cc6af2e77f3c410.tar.xz linux-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 '')
-rw-r--r-- | fs/nfs/nfs4xdr.c | 3 |
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: |