diff options
Diffstat (limited to 'net/ieee80211/ieee80211_rx.c')
-rw-r--r-- | net/ieee80211/ieee80211_rx.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/ieee80211/ieee80211_rx.c b/net/ieee80211/ieee80211_rx.c index 59a765c49cf9..94e2b8e2ab26 100644 --- a/net/ieee80211/ieee80211_rx.c +++ b/net/ieee80211/ieee80211_rx.c | |||
@@ -606,12 +606,12 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb, | |||
606 | if (frag == 0) { | 606 | if (frag == 0) { |
607 | /* copy first fragment (including full headers) into | 607 | /* copy first fragment (including full headers) into |
608 | * beginning of the fragment cache skb */ | 608 | * beginning of the fragment cache skb */ |
609 | memcpy(skb_put(frag_skb, flen), skb->data, flen); | 609 | skb_copy_from_linear_data(skb, skb_put(frag_skb, flen), flen); |
610 | } else { | 610 | } else { |
611 | /* append frame payload to the end of the fragment | 611 | /* append frame payload to the end of the fragment |
612 | * cache skb */ | 612 | * cache skb */ |
613 | memcpy(skb_put(frag_skb, flen), skb->data + hdrlen, | 613 | skb_copy_from_linear_data_offset(skb, hdrlen, |
614 | flen); | 614 | skb_put(frag_skb, flen), flen); |
615 | } | 615 | } |
616 | dev_kfree_skb_any(skb); | 616 | dev_kfree_skb_any(skb); |
617 | skb = NULL; | 617 | skb = NULL; |