All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org, stable@kernel.org, davem@davemloft.net
Cc: Justin Forbes <jmforbes@linuxtx.org>,
	Zwane Mwaikambo <zwane@arm.linux.org.uk>,
	"Theodore Ts'o" <tytso@mit.edu>,
	Randy Dunlap <rdunlap@xenotime.net>,
	Dave Jones <davej@redhat.com>,
	Chuck Wolber <chuckw@quantumlinux.com>,
	Chris Wedgwood <reviews@ml.cw.f00f.org>,
	Michael Krufky <mkrufky@linuxtv.org>,
	Chuck Ebbert <cebbert@redhat.com>,
	Domenico Andreoli <cavokz@gmail.com>,
	torvalds@linux-foundation.org, akpm@linux-foundation.org,
	alan@lxorguk.ukuu.org.uk,
	Herbert Xu <herbert@gondor.apana.org.au>
Subject: [patch 16/36] TCP: Problem bug with sysctl_tcp_congestion_control function
Date: Wed, 12 Dec 2007 22:34:45 -0800	[thread overview]
Message-ID: <20071213063445.GQ25301@kroah.com> (raw)
In-Reply-To: <20071213063308.GA25301@kroah.com>

[-- Attachment #1: tcp-problem-bug-with-sysctl_tcp_congestion_control-function.patch --]
[-- Type: text/plain, Size: 1900 bytes --]


2.6.22-stable review patch.  If anyone has any objections, please let us
know.

------------------


From: Sam Jansen <sjansen@google.com>

[TCP]: Problem bug with sysctl_tcp_congestion_control function

[ Upstream commit: 5487796f0c9475586277a0a7a91211ce5746fa6a ]

sysctl_tcp_congestion_control seems to have a bug that prevents it
from actually calling the tcp_set_default_congestion_control
function. This is not so apparent because it does not return an error
and generally the /proc interface is used to configure the default TCP
congestion control algorithm.  This is present in 2.6.18 onwards and
probably earlier, though I have not inspected 2.6.15--2.6.17.

sysctl_tcp_congestion_control calls sysctl_string and expects a successful
return code of 0. In such a case it actually sets the congestion control
algorithm with tcp_set_default_congestion_control. Otherwise, it returns the
value returned by sysctl_string. This was correct in 2.6.14, as sysctl_string
returned 0 on success. However, sysctl_string was updated to return 1 on
success around about 2.6.15 and sysctl_tcp_congestion_control was not updated.
Even though sysctl_tcp_congestion_control returns 1, do_sysctl_strategy
converts this return code to '0', so the caller never notices the error.

Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 net/ipv4/sysctl_net_ipv4.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/net/ipv4/sysctl_net_ipv4.c
+++ b/net/ipv4/sysctl_net_ipv4.c
@@ -121,7 +121,7 @@ static int sysctl_tcp_congestion_control
 
 	tcp_get_default_congestion_control(val);
 	ret = sysctl_string(&tbl, name, nlen, oldval, oldlenp, newval, newlen);
-	if (ret == 0 && newval && newlen)
+	if (ret == 1 && newval && newlen)
 		ret = tcp_set_default_congestion_control(val);
 	return ret;
 }

-- 

  parent reply	other threads:[~2007-12-13  6:42 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20071213062511.265908583@mini.kroah.org>
2007-12-13  6:33 ` [patch 00/36] 2.6.22-stable review Greg KH
2007-12-13  6:33   ` [patch 01/36] atl1: disable broken 64-bit DMA Greg KH
2007-12-13  6:33   ` [patch 02/36] rd: fix data corruption on memory pressure Future of Linux 2.6.22.y series Greg KH
2007-12-13  6:34   ` [patch 03/36] wait_task_stopped(): pass correct exit_code to wait_noreap_copyout() Greg KH
2007-12-13  6:34   ` [patch 04/36] USB: make the microtek driver and HAL cooperate Greg KH
2007-12-13  6:34   ` [patch 05/36] USB: fix up EHCI startup synchronization Greg KH
2007-12-13  6:34   ` [patch 06/36] tmpfs: restore missing clear_highpage Greg KH
2007-12-13  6:34   ` [patch 07/36] nf_nat: fix memset error Greg KH
2007-12-13  6:34   ` [patch 08/36] libcrc32c: keep intermediate crc state in cpu order Greg KH
2007-12-13  6:34   ` [patch 09/36] isdn: avoid copying overly-long strings Greg KH
2007-12-13  6:34   ` [patch 10/36] I4L: fix isdn_ioctl memory overrun vulnerability Greg KH
2007-12-13  6:34   ` [patch 11/36] hrtimers: avoid overflow for large relative timeouts (CVE-2007-5966) Greg KH
2007-12-13  6:34   ` [patch 12/36] futex: fix for futex_wait signal stack corruption Greg KH
2007-12-13  6:34   ` [patch 13/36] forcedeth: new mcp79 pci ids Greg KH
2007-12-13  6:34   ` [patch 14/36] forcedeth boot delay fix Greg KH
2007-12-13  6:34   ` [patch 15/36] fb_ddc: fix DDC lines quirk Greg KH
2007-12-13  6:34   ` Greg KH [this message]
2007-12-13  6:34   ` [patch 17/36] TCP: MTUprobe: fix potential sk_send_head corruption Greg KH
2007-12-13  6:34   ` [patch 18/36] PFKEY: Sending an SADB_GET responds with an SADB_GET Greg KH
2007-12-13  6:34   ` [patch 19/36] NET: Corrects a bug in ip_rt_acct_read() Greg KH
2007-12-13  6:34   ` [patch 20/36] IPV4: Remove bogus ifdef mess in arp_process Greg KH
2007-12-13  6:34   ` [patch 21/36] CRYPTO api: Fix potential race in crypto_remove_spawn Greg KH
2007-12-13  6:35   ` [patch 22/36] ATM: initialize lock and tasklet earlier Greg KH
2007-12-13  6:35   ` [patch 23/36] UNIX: EOF on non-blocking SOCK_SEQPACKET Greg KH
2007-12-13  6:35   ` [patch 24/36] TEXTSEARCH: Do not allow zero length patterns in the textsearch infrastructure Greg KH
2007-12-13  6:35   ` [patch 25/36] TCP: illinois: Incorrect beta usage Greg KH
2007-12-13  6:35   ` [patch 26/36] RXRPC: Add missing select on CRYPTO Greg KH
2007-12-13  6:35   ` [patch 27/36] IPV6: Restore IPv6 when MTU is big enough Greg KH
2007-12-13  6:35   ` [patch 28/36] DECNET: dn_nl_deladdr() almost always returns no error Greg KH
2007-12-13  6:35   ` [patch 29/36] BRIDGE: Lost call to br_fdb_fini() in br_init() error path Greg KH
2007-12-13  6:35   ` [patch 30/36] knfsd: Validate filehandle type in fsid_source Greg KH
2007-12-13  6:35   ` [patch 31/36] Revert "Fix SMP poweroff hangs" Greg KH
2007-12-13  6:35   ` [patch 32/36] XFS: Make xfsbufd threads freezable Greg KH
2007-12-13 18:46     ` Fortier,Vincent [Montreal]
2007-12-13 19:07       ` Olivér Pintér
2007-12-13 19:16         ` Olivér Pintér
2007-12-14  0:34           ` Greg KH
2007-12-13  6:35   ` [patch 33/36] XFRM: Fix leak of expired xfrm_states Greg KH
2007-12-13  6:35   ` [patch 34/36] NETFILTER: xt_TCPMSS: remove network triggerable WARN_ON Greg KH
2007-12-13  6:35   ` [patch 35/36] libata: kill spurious NCQ completion detection Greg KH
2007-12-13  6:35   ` [patch 36/36] BRIDGE: Properly dereference the br_should_route_hook Greg KH
2007-12-13  6:42   ` [stable] [patch 00/36] 2.6.22-stable review Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20071213063445.GQ25301@kroah.com \
    --to=gregkh@suse.de \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=cavokz@gmail.com \
    --cc=cebbert@redhat.com \
    --cc=chuckw@quantumlinux.com \
    --cc=davej@redhat.com \
    --cc=davem@davemloft.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=jmforbes@linuxtx.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mkrufky@linuxtv.org \
    --cc=rdunlap@xenotime.net \
    --cc=reviews@ml.cw.f00f.org \
    --cc=stable@kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=tytso@mit.edu \
    --cc=zwane@arm.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.