]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit7eafb764ae1dc0ae5b5a89301db171720ac22ee8
tree5798502c9546bd3e8d20e2ac2d1ef01a8032b115
parent248adb5a31f6ea411f2ad94910409bdb9db281bb
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