NFSD: Correct type annotations in user xattr XDR functions
authorChuck Lever <chuck.lever@oracle.com>
Fri, 11 Sep 2020 18:47:53 +0000 (14:47 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Fri, 25 Sep 2020 22:01:27 +0000 (18:01 -0400)
Squelch some sparse warnings:

/home/cel/src/linux/linux/fs/nfsd/nfs4xdr.c:4692:24: warning: incorrect type in return expression (different base types)
/home/cel/src/linux/linux/fs/nfsd/nfs4xdr.c:4692:24:    expected int
/home/cel/src/linux/linux/fs/nfsd/nfs4xdr.c:4692:24:    got restricted __be32 [usertype]
/home/cel/src/linux/linux/fs/nfsd/nfs4xdr.c:4702:32: warning: incorrect type in return expression (different base types)
/home/cel/src/linux/linux/fs/nfsd/nfs4xdr.c:4702:32:    expected int
/home/cel/src/linux/linux/fs/nfsd/nfs4xdr.c:4702:32:    got restricted __be32 [usertype]
/home/cel/src/linux/linux/fs/nfsd/nfs4xdr.c:4739:13: warning: incorrect type in assignment (different base types)
/home/cel/src/linux/linux/fs/nfsd/nfs4xdr.c:4739:13:    expected restricted __be32 [usertype] err
/home/cel/src/linux/linux/fs/nfsd/nfs4xdr.c:4739:13:    got int
/home/cel/src/linux/linux/fs/nfsd/nfs4xdr.c:4891:15: warning: incorrect type in assignment (different base types)
/home/cel/src/linux/linux/fs/nfsd/nfs4xdr.c:4891:15:    expected unsigned int [assigned] [usertype] count
/home/cel/src/linux/linux/fs/nfsd/nfs4xdr.c:4891:15:    got restricted __be32 [usertype]

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfs4xdr.c

index 36a54827085bb6d073db2576893d3286953796b1..205d23a41717a5ae8e6b92b945ff3020f866a579 100644 (file)
@@ -4657,7 +4657,7 @@ nfsd4_encode_noop(struct nfsd4_compoundres *resp, __be32 nfserr, void *p)
 /*
  * Encode kmalloc-ed buffer in to XDR stream.
  */
-static int
+static __be32
 nfsd4_vbuf_to_stream(struct xdr_stream *xdr, char *buf, u32 buflen)
 {
        u32 cplen;
@@ -4773,7 +4773,7 @@ nfsd4_encode_listxattrs(struct nfsd4_compoundres *resp, __be32 nfserr,
        u32 xdrlen, offset;
        u64 cookie;
        char *sp;
-       __be32 status;
+       __be32 status, tmp;
        __be32 *p;
        u32 nuser;
 
@@ -4866,8 +4866,8 @@ wreof:
        cookie = offset + count;
 
        write_bytes_to_xdr_buf(xdr->buf, cookie_offset, &cookie, 8);
-       count = htonl(count);
-       write_bytes_to_xdr_buf(xdr->buf, count_offset, &count, 4);
+       tmp = cpu_to_be32(count);
+       write_bytes_to_xdr_buf(xdr->buf, count_offset, &tmp, 4);
 out:
        if (listxattrs->lsxa_len)
                kvfree(listxattrs->lsxa_buf);