NFSv4: Fix open coded xdr_stream_remaining()
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Sun, 22 Nov 2020 02:41:08 +0000 (21:41 -0500)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Wed, 2 Dec 2020 19:05:54 +0000 (14:05 -0500)
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
fs/nfs/nfs4xdr.c

index 3899ef3047f47a6164cc8d1e7ee9ff3597061cec..de69276cfd221561b68f01ede850d321c4921940 100644 (file)
@@ -5337,11 +5337,11 @@ static int decode_getacl(struct xdr_stream *xdr, struct rpc_rqst *req,
                res->acl_len = attrlen;
 
                /* Check for receive buffer overflow */
-               if (res->acl_len > (xdr->nwords << 2) ||
+               if (res->acl_len > xdr_stream_remaining(xdr) ||
                    res->acl_len + res->acl_data_offset > xdr->buf->page_len) {
                        res->acl_flags |= NFS4_ACL_TRUNC;
-                       dprintk("NFS: acl reply: attrlen %u > page_len %u\n",
-                                       attrlen, xdr->nwords << 2);
+                       dprintk("NFS: acl reply: attrlen %u > page_len %zu\n",
+                               attrlen, xdr_stream_remaining(xdr));
                }
        } else
                status = -EOPNOTSUPP;