6lowpan: cleanup skb copy data
This patch drops the direct memcpy on skb and uses the right skb memcpy functions. Also remove an unnecessary check if plen is non zero. Signed-off-by: Alexander Aring <alex.aring@gmail.com> Reviewed-by: Werner Almesberger <werner@almesberger.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
578d524127
commit
3582b900ad
1 changed files with 8 additions and 5 deletions
|
@ -1122,12 +1122,15 @@ lowpan_fragment_xmit(struct sk_buff *skb, u8 *head,
|
||||||
frag->priority = skb->priority;
|
frag->priority = skb->priority;
|
||||||
|
|
||||||
/* copy header, MFR and payload */
|
/* copy header, MFR and payload */
|
||||||
memcpy(skb_put(frag, mlen), skb->data, mlen);
|
skb_put(frag, mlen);
|
||||||
memcpy(skb_put(frag, hlen), head, hlen);
|
skb_copy_to_linear_data(frag, skb_mac_header(skb), mlen);
|
||||||
|
|
||||||
if (plen)
|
skb_put(frag, hlen);
|
||||||
skb_copy_from_linear_data_offset(skb, offset + mlen,
|
skb_copy_to_linear_data_offset(frag, mlen, head, hlen);
|
||||||
skb_put(frag, plen), plen);
|
|
||||||
|
skb_put(frag, plen);
|
||||||
|
skb_copy_to_linear_data_offset(frag, mlen + hlen,
|
||||||
|
skb_network_header(skb) + offset, plen);
|
||||||
|
|
||||||
lowpan_raw_dump_table(__func__, " raw fragment dump", frag->data,
|
lowpan_raw_dump_table(__func__, " raw fragment dump", frag->data,
|
||||||
frag->len);
|
frag->len);
|
||||||
|
|
Loading…
Reference in a new issue