Commit f2d9da1a8375cbe53df5b415d059429013a3a79f
Committed by
David S. Miller
1 parent
a28205437b
bna: fix skb->truesize underestimation
skb->truesize is not meant to be tracking amount of used bytes in an skb, but amount of reserved/consumed bytes in memory. For instance, if we use a single byte in last page fragment, we have to account the full size of the fragment. skb->truesize can be very different from skb->len, that has a very specific safety purpose. Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Rasesh Mody <rasesh.mody@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Showing 1 changed file with 1 additions and 1 deletions Side-by-side Diff
drivers/net/ethernet/brocade/bna/bnad.c
... | ... | @@ -552,6 +552,7 @@ |
552 | 552 | |
553 | 553 | len = (vec == nvecs) ? |
554 | 554 | last_fraglen : unmap->vector.len; |
555 | + skb->truesize += unmap->vector.len; | |
555 | 556 | totlen += len; |
556 | 557 | |
557 | 558 | skb_fill_page_desc(skb, skb_shinfo(skb)->nr_frags, |
... | ... | @@ -563,7 +564,6 @@ |
563 | 564 | |
564 | 565 | skb->len += totlen; |
565 | 566 | skb->data_len += totlen; |
566 | - skb->truesize += totlen; | |
567 | 567 | } |
568 | 568 | |
569 | 569 | static inline void |