When size_t maps to unsigned int (e.g. on 32-bit powerpc), then the
comparison with 1<<35 is always true. Clang 9 threw:
warning: result of comparison of constant 
34359738368 with \
expression of type 'size_t' (aka 'unsigned int') is always true \
[-Wtautological-constant-out-of-range-compare]
        while (total < FILE_SZ) {
Tested: make -C tools/testing/selftests TARGETS="net" run_tests
Fixes: 192dc405f308 ("selftests: net: add tcp_mmap program")
Signed-off-by: Tanner Love <tannerlove@google.com>
Acked-by: Willem de Bruijn <willemb@google.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
 {
        struct sockaddr_storage listenaddr, addr;
        unsigned int max_pacing_rate = 0;
-       size_t total = 0;
+       uint64_t total = 0;
        char *host = NULL;
        int fd, c, on = 1;
        char *buffer;
                zflg = 0;
        }
        while (total < FILE_SZ) {
-               ssize_t wr = FILE_SZ - total;
+               int64_t wr = FILE_SZ - total;
 
                if (wr > chunk_size)
                        wr = chunk_size;
                /* Note : we just want to fill the pipe with 0 bytes */
-               wr = send(fd, buffer, wr, zflg ? MSG_ZEROCOPY : 0);
+               wr = send(fd, buffer, (size_t)wr, zflg ? MSG_ZEROCOPY : 0);
                if (wr <= 0)
                        break;
                total += wr;