[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.OSX.2.23.453.2009171413360.4728@shantika-mobl1.amr.corp.intel.com>
Date: Thu, 17 Sep 2020 14:19:26 -0700 (PDT)
From: Mat Martineau <mathew.j.martineau@...ux.intel.com>
To: Paolo Abeni <pabeni@...hat.com>
cc: netdev@...r.kernel.org, "David S. Miller" <davem@...emloft.net>,
mptcp@...ts.01.org
Subject: Re: [MPTCP] [PATCH net-next] mptcp: fix integer overflow in
mptcp_subflow_discard_data()
On Thu, 17 Sep 2020, Paolo Abeni wrote:
> Christoph reported an infinite loop in the subflow receive path
> under stress condition.
>
> If there are multiple subflows, each of them using a large send
> buffer, the delta between the sequence number used by
> MPTCP-level retransmission can and the current msk->ack_seq
> can be greater than MAX_INT.
>
> In the above scenario, when calling mptcp_subflow_discard_data(),
> such delta will be truncated to int, and could result in a negative
> number: no bytes will be dropped, and subflow_check_data_avail()
> will try again to process the same packet, looping forever.
>
> This change addresses the issue by expanding the 'limit' size to 64
> bits, so that overflows are not possible anymore.
>
> Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/87
> Fixes: 6719331c2f73 ("mptcp: trigger msk processing even for OoO data")
> Reported-and-tested-by: Christoph Paasch <cpaasch@...le.com>
> Signed-off-by: Paolo Abeni <pabeni@...hat.com>
> ---
> net-next patch, as the culprit commit is only on net-next currently
> ---
> net/mptcp/subflow.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
Thanks Paolo!
Reviewed-by: Mat Martineau <mathew.j.martineau@...ux.intel.com>
--
Mat Martineau
Intel
Powered by blists - more mailing lists