Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d0410051 authored by Ilpo Järvinen's avatar Ilpo Järvinen Committed by David S. Miller
Browse files

[TCP]: SACK fastpath did override adjusted fackets_out



Do same adjustment to SACK fastpath counters provided that
they're valid.

Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 61cbc2fc
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -699,6 +699,14 @@ int tcp_fragment(struct sock *sk, struct sk_buff *skb, u32 len, unsigned int mss
			tp->fackets_out -= diff;
			if ((int)tp->fackets_out < 0)
				tp->fackets_out = 0;
			/* SACK fastpath might overwrite it unless dealt with */
			if (tp->fastpath_skb_hint != NULL &&
			    after(TCP_SKB_CB(tp->fastpath_skb_hint)->seq,
				  TCP_SKB_CB(skb)->seq)) {
				tp->fastpath_cnt_hint -= diff;
				if ((int)tp->fastpath_cnt_hint < 0)
					tp->fastpath_cnt_hint = 0;
			}
		}
	}