aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShan Wei <shanwei@cn.fujitsu.com>2008-02-15 01:48:20 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2008-02-25 16:18:34 -0800
commit5531e217653acba748a687e949e9e2f39462c969 (patch)
treedc6a6575ae28d1157ea56efbfaf3749aaaa1f25d
parentc5ae77d37bde1e9b2db48026f6a483a7fd08c076 (diff)
TCP: Fix a bug in strategy_allowed_congestion_control
Upstream commit: 16ca3f913001efdb6171a2781ef41c77474e3895 In strategy_allowed_congestion_control of the 2.6.24 kernel, when sysctl_string return 1 on success,it should call tcp_set_allowed_congestion_control to set the allowed congestion control.But, it don't. the sysctl_string return 1 on success, otherwise return negative, never return 0.The patch fix the problem. Signed-off-by: Shan Wei <shanwei@cn.fujitsu.com> Acked-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--net/ipv4/sysctl_net_ipv4.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c
index bec6fe88065..16e04b72bb8 100644
--- a/net/ipv4/sysctl_net_ipv4.c
+++ b/net/ipv4/sysctl_net_ipv4.c
@@ -248,7 +248,7 @@ static int strategy_allowed_congestion_control(ctl_table *table, int __user *nam
tcp_get_available_congestion_control(tbl.data, tbl.maxlen);
ret = sysctl_string(&tbl, name, nlen, oldval, oldlenp, newval, newlen);
- if (ret == 0 && newval && newlen)
+ if (ret == 1 && newval && newlen)
ret = tcp_set_allowed_congestion_control(tbl.data);
kfree(tbl.data);