]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
pNFS/flexfiles: missing error code in ff_layout_alloc_lseg()
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 19 May 2017 21:31:12 +0000 (00:31 +0300)
committerSasha Levin <alexander.levin@microsoft.com>
Wed, 23 May 2018 01:36:25 +0000 (21:36 -0400)
[ Upstream commit 662f9a105b4322b8559d448f86110e6ec24b8738 ]

If xdr_inline_decode() fails then we end up returning ERR_PTR(0).  The
caller treats NULL returns as -ENOMEM so it doesn't really hurt runtime,
but obviously we intended to set an error code here.

Fixes: d67ae825a59d ("pnfs/flexfiles: Add the FlexFile Layout Driver")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
fs/nfs/flexfilelayout/flexfilelayout.c

index c2abdc7db6c3368e9c0ecf4713dbb2c9dfe56773..4af8e428e4c9b12ca8fdb3277bf5247362a00863 100644 (file)
@@ -307,6 +307,7 @@ ff_layout_alloc_lseg(struct pnfs_layout_hdr *lh,
                        goto out_err_free;
 
                /* fh */
+               rc = -EIO;
                p = xdr_inline_decode(&stream, 4);
                if (!p)
                        goto out_err_free;