net: avoid to hang up on sending due to sysctl configuration overflow.
authorbingtian.ly@taobao.com <bingtian.ly@taobao.com>
Wed, 23 Jan 2013 20:35:28 +0000 (20:35 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 29 Jan 2013 04:15:27 +0000 (23:15 -0500)
commitcdda88912d62f9603d27433338a18be83ef23ac1
tree5798502c9546bd3e8d20e2ac2d1ef01a8032b115
parentf7b5d1b9bd16e3ec71696abb204a8cfddd93aa62
net: avoid to hang up on sending due to sysctl configuration overflow.

    I found if we write a larger than 4GB value to some sysctl
variables, the sending syscall will hang up forever, because these
variables are 32 bits, such large values make them overflow to 0 or
negative.

    This patch try to fix overflow or prevent from zero value setup
of below sysctl variables:

net.core.wmem_default
net.core.rmem_default

net.core.rmem_max
net.core.wmem_max

net.ipv4.udp_rmem_min
net.ipv4.udp_wmem_min

net.ipv4.tcp_wmem
net.ipv4.tcp_rmem

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Li Yu <raise.sail@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/sysctl_net_core.c
net/ipv4/sysctl_net_ipv4.c