From: Michael S. Tsirkin Date: Sun, 20 Aug 2006 15:30:20 +0000 (+0300) Subject: IB/sdp: Fix skb truesize calculation for the RX skb X-Git-Tag: v4.1.12-92~264^2~5^2~386 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=d1a2a412d12216c7b6b2f663840f15b63af8b057;p=users%2Fjedix%2Flinux-maple.git IB/sdp: Fix skb truesize calculation for the RX skb Signed-off-by: Michael S. Tsirkin --- diff --git a/drivers/infiniband/ulp/sdp/sdp_bcopy.c b/drivers/infiniband/ulp/sdp/sdp_bcopy.c index 8af176c482fa9..b30d2a0078db5 100644 --- a/drivers/infiniband/ulp/sdp/sdp_bcopy.c +++ b/drivers/infiniband/ulp/sdp/sdp_bcopy.c @@ -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);