From: Felix Fietkau Date: Sat, 18 Dec 2010 18:30:48 +0000 (+0100) Subject: mac80211: fix initialization of skb->cb in ieee80211_subif_start_xmit X-Git-Tag: v2.6.38-rc1~476^2~14^2~3^2~85 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=489ee9195a7de9e6bc833d639ff6b553ffdad90e;p=platform%2Fkernel%2Flinux-3.10.git mac80211: fix initialization of skb->cb in ieee80211_subif_start_xmit The change 'mac80211: Fix BUG in pskb_expand_head when transmitting shared skbs' added a check for copying the skb if it's shared, however the tx info variable still points at the cb of the old skb Signed-off-by: Felix Fietkau Acked-by: Helmut Schaa Signed-off-by: John W. Linville --- diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index 807dcd06..8d01d21 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -1739,7 +1739,7 @@ netdev_tx_t ieee80211_subif_start_xmit(struct sk_buff *skb, { struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); struct ieee80211_local *local = sdata->local; - struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); + struct ieee80211_tx_info *info; int ret = NETDEV_TX_BUSY, head_need; u16 ethertype, hdrlen, meshhdrlen = 0; __le16 fc; @@ -2028,6 +2028,7 @@ netdev_tx_t ieee80211_subif_start_xmit(struct sk_buff *skb, skb_set_network_header(skb, nh_pos); skb_set_transport_header(skb, h_pos); + info = IEEE80211_SKB_CB(skb); memset(info, 0, sizeof(*info)); dev->trans_start = jiffies;