Skip to content
  • Chuck Lever's avatar
    include/net/sock.h: squelch compiler warning in sk_rmem_schedule() · 35c448a8
    Chuck Lever authored
    This warning:
    
      In file included from linux/include/linux/tcp.h:227:0,
                       from linux/include/linux/ipv6.h:221,
                       from linux/include/net/ipv6.h:16,
                       from linux/include/linux/sunrpc/clnt.h:26,
                       from linux/net/sunrpc/stats.c:22:
      linux/include/net/sock.h: In function `sk_rmem_schedule':
      linux/nfs-2.6/include/net/sock.h:1339:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    
    is seen with gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) using the
    -Wextra option.
    
    Commit c76562b6
    
     ("netvm: prevent a stream-specific deadlock")
    accidentally replaced the "size" parameter of sk_rmem_schedule() with an
    unsigned int.  This changes the semantics of the comparison in the
    return statement.
    
    In sk_wmem_schedule we have syntactically the same comparison, but
    "size" is a signed integer.  In addition, __sk_mem_schedule() takes a
    signed integer for its "size" parameter, so there is an implicit type
    conversion in sk_rmem_schedule() anyway.
    
    Revert the "size" parameter back to a signed integer so that the
    semantics of the expressions in both sk_[rw]mem_schedule() are exactly
    the same.
    
    Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
    Signed-off-by: default avatarMel Gorman <mgorman@suse.de>
    Cc: David Miller <davem@davemloft.net>
    Cc: Joonsoo Kim <js1304@gmail.com>
    Cc: David Rientjes <rientjes@google.com>
    Cc: Pekka Enberg <penberg@kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    35c448a8