[SCTP]: Fix receive buffer accounting.
When doing receiver buffer accounting, we always used skb->truesize. This is problematic when processing bundled DATA chunks because for every DATA chunk that could be small part of one large skb, we would charge the size of the entire skb. The new approach is to store the size of the DATA chunk we are accounting for in the sctp_ulpevent structure and use that stored value for accounting. Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com> Signed-off-by: Sridhar Samudrala <sri@us.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
6e8c751e07
commit
331c4ee7fa
@@ -309,7 +309,7 @@ static struct sctp_ulpevent *sctp_make_reassembled_event(struct sk_buff_head *qu
|
||||
if (!new)
|
||||
return NULL; /* try again later */
|
||||
|
||||
new->sk = f_frag->sk;
|
||||
sctp_skb_set_owner_r(new, f_frag->sk);
|
||||
|
||||
skb_shinfo(new)->frag_list = pos;
|
||||
} else
|
||||
|
Reference in New Issue
Block a user