net: caif: use skb helpers instead of open-coding them
Use existing skb_put_data() and skb_trim() instead of open-coding them, with the skb_put_data() first so that logically, `skb` still contains the data to be copied in its data..tail area when skb_put_data() reads it. This change on its own is a cleanup, and it is also necessary for potential future integration of skbuffs with things like KASAN. Signed-off-by: Jann Horn <jannh@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
6a79507cfe
Коммит
1eb00162f8
|
@ -319,16 +319,12 @@ struct cfpkt *cfpkt_append(struct cfpkt *dstpkt,
|
|||
if (tmppkt == NULL)
|
||||
return NULL;
|
||||
tmp = pkt_to_skb(tmppkt);
|
||||
skb_set_tail_pointer(tmp, dstlen);
|
||||
tmp->len = dstlen;
|
||||
memcpy(tmp->data, dst->data, dstlen);
|
||||
skb_put_data(tmp, dst->data, dstlen);
|
||||
cfpkt_destroy(dstpkt);
|
||||
dst = tmp;
|
||||
}
|
||||
memcpy(skb_tail_pointer(dst), add->data, skb_headlen(add));
|
||||
skb_put_data(dst, add->data, skb_headlen(add));
|
||||
cfpkt_destroy(addpkt);
|
||||
dst->tail += addlen;
|
||||
dst->len += addlen;
|
||||
return skb_to_pkt(dst);
|
||||
}
|
||||
|
||||
|
@ -359,13 +355,11 @@ struct cfpkt *cfpkt_split(struct cfpkt *pkt, u16 pos)
|
|||
if (skb2 == NULL)
|
||||
return NULL;
|
||||
|
||||
/* Reduce the length of the original packet */
|
||||
skb_set_tail_pointer(skb, pos);
|
||||
skb->len = pos;
|
||||
skb_put_data(skb2, split, len2nd);
|
||||
|
||||
/* Reduce the length of the original packet */
|
||||
skb_trim(skb, pos);
|
||||
|
||||
memcpy(skb2->data, split, len2nd);
|
||||
skb2->tail += len2nd;
|
||||
skb2->len += len2nd;
|
||||
skb2->priority = skb->priority;
|
||||
return skb_to_pkt(skb2);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче