From 141ad55ccff203e1558f9a8252b9a125c4077fb2 Mon Sep 17 00:00:00 2001 From: Abhijeet Kolekar Date: Tue, 11 May 2010 11:22:11 -0700 Subject: [PATCH] --- yaml --- r: 195251 b: refs/heads/master c: 058897a4e93a6fc6d331e2ef591b2d6571431265 h: refs/heads/master i: 195249: 9aeaed515ac9086c36cfb98d727658d67f2ce496 195247: 54e52ce126da27d825eb38e29f7b3fc2590b8fc7 v: v3 --- [refs] | 2 +- trunk/net/mac80211/rx.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 9e52328acb3b..43904185c4e6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ffdc4cbe5b17c83af779f45de8536c6ece297e42 +refs/heads/master: 058897a4e93a6fc6d331e2ef591b2d6571431265 diff --git a/trunk/net/mac80211/rx.c b/trunk/net/mac80211/rx.c index e4f325f68fd3..8fa99554f4e2 100644 --- a/trunk/net/mac80211/rx.c +++ b/trunk/net/mac80211/rx.c @@ -1252,6 +1252,12 @@ ieee80211_rx_h_defragment(struct ieee80211_rx_data *rx) if (skb_linearize(rx->skb)) return RX_DROP_UNUSABLE; + /* + * skb_linearize() might change the skb->data and + * previously cached variables (in this case, hdr) need to + * be refreshed with the new data. + */ + hdr = (struct ieee80211_hdr *)rx->skb->data; seq = (sc & IEEE80211_SCTL_SEQ) >> 4; if (frag == 0) {