lkml.org 
[lkml]   [2013]   [Feb]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[ 082/128] ath9k: fix double-free bug on beacon generate failure
    3.2-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Felix Fietkau <nbd@openwrt.org>

    commit 1adb2e2b5f85023d17eb4f95386a57029df27c88 upstream.

    When the next beacon is sent, the ath_buf from the previous run is reused.
    If getting a new beacon from mac80211 fails, bf->bf_mpdu is not reset, yet
    the skb is freed, leading to a double-free on the next beacon tx attempt,
    resulting in a system crash.

    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    drivers/net/wireless/ath/ath9k/beacon.c | 1 +
    1 file changed, 1 insertion(+)

    --- a/drivers/net/wireless/ath/ath9k/beacon.c
    +++ b/drivers/net/wireless/ath/ath9k/beacon.c
    @@ -155,6 +155,7 @@ static struct ath_buf *ath_beacon_genera
    skb->len, DMA_TO_DEVICE);
    dev_kfree_skb_any(skb);
    bf->bf_buf_addr = 0;
    + bf->bf_mpdu = NULL;
    }

    /* Get a new beacon from mac80211 */



    \
     
     \ /
      Last update: 2013-02-03 16:41    [W:3.892 / U:0.068 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site