On Wed, May 10, 2017 at 8:01 PM, Yuchung Cheng <[email protected]> wrote:
>
> This patch fixes a bug in splitting an SKB during SACK
> processing. Specifically if an skb contains multiple
> packets and is only partially sacked in the higher sequences,
> tcp_match_sack_to_skb() splits the skb and marks the second fragment
> as SACKed.
>
> The current code further attempts rounding up the first fragment
> to MSS boundaries. But it misses a boundary condition when the
> rounded-up fragment size (pkt_len) is exactly skb size.  Spliting
> such an skb is pointless and causses a kernel warning and aborts
> the SACK processing. This patch universally checks such over-split
> before calling tcp_fragment to prevent these unnecessary warnings.
>
> Fixes: adb92db857ee ("tcp: Make SACK code to split only at mss boundaries")
> Signed-off-by: Yuchung Cheng <[email protected]>
> Signed-off-by: Eric Dumazet <[email protected]>
> Signed-off-by: Soheil Hassas Yeganeh <[email protected]>

Acked-by: Neal Cardwell <[email protected]>

neal

Reply via email to