]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
IB/sdp: Fix skb truesize calculation for the RX skb
authorMichael S. Tsirkin <mst@mellanox.co.il>
Sun, 20 Aug 2006 15:30:20 +0000 (18:30 +0300)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Tue, 6 Oct 2015 12:03:56 +0000 (05:03 -0700)
Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
drivers/infiniband/ulp/sdp/sdp_bcopy.c

index 8af176c482fa9b467bede502f1dff5084c264043..b30d2a0078db5bdb5224cd43fc26c5d6c4ec38bf 100644 (file)
@@ -403,12 +403,13 @@ static void sdp_handle_wc(struct sdp_sock *ssk, struct ib_wc *wc)
                                ntohs(h->bufs);
 
                        pagesz = PAGE_ALIGN(skb->data_len);
-                       skb->truesize = sizeof(struct sdp_bsdh) + pagesz;
                        skb_shinfo(skb)->nr_frags = pagesz / PAGE_SIZE;
 
                        for (i = skb_shinfo(skb)->nr_frags;
-                            i < SDP_MAX_SEND_SKB_FRAGS; ++i)
+                            i < SDP_MAX_SEND_SKB_FRAGS; ++i) {
                                put_page(skb_shinfo(skb)->frags[i].page);
+                               skb->truesize -= PAGE_SIZE;
+                       }
 
                        if (unlikely(h->flags & SDP_OOB_PEND))
                                sk_send_sigurg(&ssk->isk.sk);