[TCP]: MTUprobe: prepare skb fields earlier
authorIlpo Järvinen <ilpo.jarvinen@helsinki.fi>
Sat, 1 Dec 2007 22:48:00 +0000 (00:48 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Jan 2008 22:55:42 +0000 (14:55 -0800)
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 <ilpo.jarvinen@helsinki.fi>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_output.c

index 98835afb8d8a717ed21e0e58c487b1999a296d30..c2aa4688dae63534e86d42ee8a7291ba1615e768 100644 (file)
@@ -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);