mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
net: add skb frag size accessors
To ease skb->truesize sanitization, its better to be able to localize all references to skb frags size. Define accessors : skb_frag_size() to fetch frag size, and skb_frag_size_{set|add|sub}() to manipulate it. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
dd767856a3
commit
9e903e0852
87 changed files with 387 additions and 357 deletions
|
@ -1094,14 +1094,16 @@ static void __pskb_trim_head(struct sk_buff *skb, int len)
|
|||
eat = len;
|
||||
k = 0;
|
||||
for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {
|
||||
if (skb_shinfo(skb)->frags[i].size <= eat) {
|
||||
int size = skb_frag_size(&skb_shinfo(skb)->frags[i]);
|
||||
|
||||
if (size <= eat) {
|
||||
skb_frag_unref(skb, i);
|
||||
eat -= skb_shinfo(skb)->frags[i].size;
|
||||
eat -= size;
|
||||
} else {
|
||||
skb_shinfo(skb)->frags[k] = skb_shinfo(skb)->frags[i];
|
||||
if (eat) {
|
||||
skb_shinfo(skb)->frags[k].page_offset += eat;
|
||||
skb_shinfo(skb)->frags[k].size -= eat;
|
||||
skb_frag_size_sub(&skb_shinfo(skb)->frags[k], eat);
|
||||
eat = 0;
|
||||
}
|
||||
k++;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue