324-alignment.patch 520 B

12345678910111213141516171819
  1. --- a/net80211/ieee80211_input.c
  2. +++ b/net80211/ieee80211_input.c
  3. @@ -1275,14 +1275,8 @@ ieee80211_decap(struct ieee80211vap *vap
  4. eh->ether_type = ether_type;
  5. if (!ALIGNED_POINTER(skb->data + sizeof(*eh), u_int32_t)) {
  6. - struct sk_buff *tskb;
  7. -
  8. - /* XXX: does this always work? */
  9. - tskb = skb_copy(skb, GFP_ATOMIC);
  10. - if (tskb)
  11. - ieee80211_skb_copy_noderef(skb, tskb);
  12. - ieee80211_dev_kfree_skb(&skb);
  13. - skb = tskb;
  14. + memmove(skb->data - 2, skb->data, skb->len);
  15. + skb->data -= 2;
  16. }
  17. return skb;
  18. }