• Markus Theil's avatar
    mac80211: fix double free in ibss_leave · 92b9e3de
    Markus Theil authored
    commit 3bd801b1 upstream.
    
    Clear beacon ie pointer and ie length after free
    in order to prevent double free.
    
    ==================================================================
    BUG: KASAN: double-free or invalid-free \
    in ieee80211_ibss_leave+0x83/0xe0 net/mac80211/ibss.c:1876
    
    CPU: 0 PID: 8472 Comm: syz-executor100 Not tainted 5.11.0-rc6-syzkaller #0
    Call Trace:
     __dump_stack lib/dump_stack.c:79 [inline]
     dump_stack+0x107/0x163 lib/dump_stack.c:120
     print_address_description.constprop.0.cold+0x5b/0x2c6 mm/kasan/report.c:230
     kasan_report_invalid_free+0x51/0x80 mm/kasan/report.c:355
     ____kasan_slab_free+0xcc/0xe0 mm/kasan/common.c:341
     kasan_slab_free include/linux/kasan.h:192 [inline]
     __cache_free mm/slab.c:3424 [inline]
     kfree+0xed/0x270 mm/slab.c:3760
     ieee80211_ibss_leave+0x83/0xe0 net/mac80211/ibss.c:1876
     rdev_leave_ibss net/wireless/rdev-ops.h:545 [inline]
     __cfg80211_leave_ibss+0x19a/0x4c0 net/wireless/ibss.c:212
     __cfg80211_...
    92b9e3de
ibss.c 51.2 KB