]>
Commit | Line | Data |
---|---|---|
dbd276a6 JR |
1 | diff -urNp linux-2432/net/core/sock.c linux-2450/net/core/sock.c |
2 | --- linux-2432/net/core/sock.c | |
3 | +++ linux-2450/net/core/sock.c | |
4 | @@ -785,7 +785,6 @@ struct sk_buff *sock_alloc_send_pskb(str | |
5 | ||
6 | npages = (data_len + (PAGE_SIZE - 1)) >> PAGE_SHIFT; | |
7 | skb->truesize += data_len; | |
8 | - skb_shinfo(skb)->nr_frags = npages; | |
9 | for (i = 0; i < npages; i++) { | |
10 | struct page *page; | |
11 | skb_frag_t *frag; | |
12 | @@ -804,6 +803,9 @@ struct sk_buff *sock_alloc_send_pskb(str | |
13 | PAGE_SIZE : | |
14 | data_len); | |
15 | data_len -= PAGE_SIZE; | |
16 | + | |
17 | + /* frag[i] is now initialized */ | |
18 | + skb_shinfo(skb)->nr_frags = i + 1; | |
19 | } | |
20 | ||
21 | /* Full success... */ |