[PATCH] TCP:Fix a bug in strategy_allowed_congestion_control

From: shanwei
Date: Fri Jan 25 2008 - 02:10:51 EST


hi all:

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@xxxxxxxxxxxxxx>

diff -Nuarp linux-2.6.24/net/ipv4/sysctl_net_ipv4.c linux-2.6.24-new/net/ipv4/sysctl_net_ipv4.c
--- linux-2.6.24/net/ipv4/sysctl_net_ipv4.c 2008-01-25 06:58:37.000000000 +0800
+++ linux-2.6.24-new/net/ipv4/sysctl_net_ipv4.c 2008-01-25 12:23:20.000000000 +0800
@@ -248,7 +248,7 @@ static int strategy_allowed_congestion_c

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);


-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html