mac80211: fix mesh forwarding when ratelimited too

Commit b51aff057c said:

    Under memory pressure, the mac80211 mesh code
    may helpfully print a message that it failed
    to clone a mesh frame and then will proceed
    to crash trying to use it anyway. Fix that.

Avoid the reference whenever the frame copy is unsuccessful
regardless of the debug message being suppressed or printed.

Cc: [email protected] [2.6.27+]
Signed-off-by: Milton Miller <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
This commit is contained in:
Milton Miller
2011-01-04 14:17:23 -05:00
committed by John W. Linville
parent 554d1d027b
commit 919bbad580
+2 -2
View File
@@ -1788,11 +1788,11 @@ ieee80211_rx_h_mesh_fwding(struct ieee80211_rx_data *rx)
fwd_skb = skb_copy(skb, GFP_ATOMIC);
if (!fwd_skb && net_ratelimit()) {
if (!fwd_skb && net_ratelimit())
printk(KERN_DEBUG "%s: failed to clone mesh frame\n",
sdata->name);
if (!fwd_skb)
goto out;
}
fwd_hdr = (struct ieee80211_hdr *) fwd_skb->data;
memcpy(fwd_hdr->addr2, sdata->vif.addr, ETH_ALEN);