All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org,
	Christoph Paasch <christoph.paasch@uclouvain.be>,
	"David S. Miller" <davem@davemloft.net>
Subject: [PATCH 3.16 02/17] tcp: Fix integer-overflows in TCP veno
Date: Fri,  8 Aug 2014 14:35:24 -0700	[thread overview]
Message-ID: <20140808213457.608267331@linuxfoundation.org> (raw)
In-Reply-To: <20140808213457.511493898@linuxfoundation.org>

3.16-stable review patch.  If anyone has any objections, please let me know.

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

From: Christoph Paasch <christoph.paasch@uclouvain.be>

[ Upstream commit 45a07695bc64b3ab5d6d2215f9677e5b8c05a7d0 ]

In veno we do a multiplication of the cwnd and the rtt. This
may overflow and thus their result is stored in a u64. However, we first
need to cast the cwnd so that actually 64-bit arithmetic is done.

A first attempt at fixing 76f1017757aa0 ([TCP]: TCP Veno congestion
control) was made by 159131149c2 (tcp: Overflow bug in Vegas), but it
failed to add the required cast in tcp_veno_cong_avoid().

Fixes: 76f1017757aa0 ([TCP]: TCP Veno congestion control)
Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 net/ipv4/tcp_veno.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/net/ipv4/tcp_veno.c
+++ b/net/ipv4/tcp_veno.c
@@ -144,7 +144,7 @@ static void tcp_veno_cong_avoid(struct s
 
 		rtt = veno->minrtt;
 
-		target_cwnd = (tp->snd_cwnd * veno->basertt);
+		target_cwnd = (u64)tp->snd_cwnd * veno->basertt;
 		target_cwnd <<= V_PARAM_SHIFT;
 		do_div(target_cwnd, rtt);
 



  parent reply	other threads:[~2014-08-08 21:46 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-08 21:35 [PATCH 3.16 00/17] 3.16.1-stable review Greg Kroah-Hartman
2014-08-08 21:35 ` [PATCH 3.16 01/17] ip_tunnel(ipv4): fix tunnels with "local any remote $remote_ip" Greg Kroah-Hartman
2014-08-08 21:35 ` Greg Kroah-Hartman [this message]
2014-08-08 21:35 ` [PATCH 3.16 03/17] tcp: Fix integer-overflow in TCP vegas Greg Kroah-Hartman
2014-08-08 21:35 ` [PATCH 3.16 04/17] bna: fix performance regression Greg Kroah-Hartman
2014-08-08 21:35 ` [PATCH 3.16 05/17] macvlan: Initialize vlan_features to turn on offload support Greg Kroah-Hartman
2014-08-08 21:35 ` [PATCH 3.16 06/17] net: Correctly set segment mac_len in skb_segment() Greg Kroah-Hartman
2014-08-08 21:35 ` [PATCH 3.16 07/17] iovec: make sure the caller actually wants anything in memcpy_fromiovecend Greg Kroah-Hartman
2014-08-08 21:35 ` [PATCH 3.16 08/17] batman-adv: Fix out-of-order fragmentation support Greg Kroah-Hartman
2014-08-08 21:35 ` [PATCH 3.16 09/17] Revert "net: phy: Set the driver when registering an MDIO bus device" Greg Kroah-Hartman
2014-08-08 21:35 ` [PATCH 3.16 10/17] sctp: fix possible seqlock seadlock in sctp_packet_transmit() Greg Kroah-Hartman
2014-08-08 21:35 ` [PATCH 3.16 11/17] tg3: Modify tg3_tso_bug() to handle multiple TX rings Greg Kroah-Hartman
2014-08-08 21:35 ` [PATCH 3.16 12/17] sparc64: Do not insert non-valid PTEs into the TSB hash table Greg Kroah-Hartman
2014-08-08 21:35 ` [PATCH 3.16 13/17] sparc64: Guard against flushing openfirmware mappings Greg Kroah-Hartman
2014-08-08 21:35 ` [PATCH 3.16 14/17] bbc-i2c: Fix BBC I2C envctrl on SunBlade 2000 Greg Kroah-Hartman
2014-08-08 21:35 ` [PATCH 3.16 15/17] sunsab: Fix detection of BREAK on sunsab serial console Greg Kroah-Hartman
2014-08-08 21:35 ` [PATCH 3.16 16/17] sparc64: ldc_connect() should not return EINVAL when handshake is in progress Greg Kroah-Hartman
2014-08-08 21:35 ` [PATCH 3.16 17/17] arch/sparc/math-emu/math_32.c: drop stray break operator Greg Kroah-Hartman
2014-08-09  0:59 ` [PATCH 3.16 00/17] 3.16.1-stable review Guenter Roeck
2014-08-09  3:49   ` Greg Kroah-Hartman
2014-08-09  3:49     ` Greg Kroah-Hartman
2014-08-09  4:17       ` Guenter Roeck
2014-08-09 14:16         ` Greg Kroah-Hartman
2014-08-09 15:04           ` Guenter Roeck
2014-08-09 16:07             ` Linus Torvalds
2014-08-09 17:15               ` Guenter Roeck
2014-08-09 17:43                 ` Linus Torvalds
2014-08-10  1:21                   ` Stephen Rothwell
2014-08-10  2:06                     ` Olof Johansson
2014-08-11  0:22                       ` Kukjin Kim
2014-08-09 14:43 ` Shuah Khan
2014-08-09 15:49   ` Greg Kroah-Hartman
2014-08-10 11:48     ` Satoru Takeuchi
2014-08-10 12:18       ` Greg Kroah-Hartman

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=20140808213457.608267331@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=christoph.paasch@uclouvain.be \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /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.