From: Ilpo Järvinen Date: Sat, 1 Dec 2007 22:48:00 +0000 (+0200) Subject: [TCP]: MTUprobe: prepare skb fields earlier X-Git-Tag: v2.6.25-rc1~1162^2~1282 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=50c4817e9919132639be0adc387b509e04a9ed0a;p=linux-2.6 [TCP]: MTUprobe: prepare skb fields earlier They better be valid when call to write_queue functions is made once things that follow are going in. Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller --- diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 98835afb8d..c2aa4688da 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -1342,7 +1342,6 @@ static int tcp_mtu_probe(struct sock *sk) sk_charge_skb(sk, nskb); skb = tcp_send_head(sk); - tcp_insert_write_queue_before(nskb, skb, sk); TCP_SKB_CB(nskb)->seq = TCP_SKB_CB(skb)->seq; TCP_SKB_CB(nskb)->end_seq = TCP_SKB_CB(skb)->seq + probe_size; @@ -1351,6 +1350,8 @@ static int tcp_mtu_probe(struct sock *sk) nskb->csum = 0; nskb->ip_summed = skb->ip_summed; + tcp_insert_write_queue_before(nskb, skb, sk); + len = 0; while (len < probe_size) { next = tcp_write_queue_next(sk, skb);