• Brian Norris's avatar
    mwifiex: don't leak stashed beacon buffer on reset · 6eb2d002
    Brian Norris authored
    When removing or resetting an mwifiex device, we don't remember to free
    the saved beacon buffer. Use the (somewhat misleadingly-named)
    mwifiex_free_priv() helper to handle this.
    
    Noticed by kmemleak during tests:
    
    echo 1 > /sys/bus/pci/devices/.../reset
    
    unreferenced object 0xffffffc09d034a00 (size 256):
    ...
      backtrace:
        [<ffffffc0003cdce4>] create_object+0x228/0x3c4
        [<ffffffc000c0b9d8>] kmemleak_alloc+0x54/0x88
        [<ffffffc0003c0848>] __kmalloc+0x1cc/0x2dc
        [<ffffffbffc1500c4>] mwifiex_save_curr_bcn+0x80/0x308 [mwifiex]
        [<ffffffbffc1516b8>] mwifiex_ret_802_11_associate+0x4ec/0x5fc [mwifiex]
        [<ffffffbffc15da90>] mwifiex_process_sta_cmdresp+0xaf8/0x1fa4 [mwifiex]
        [<ffffffbffc1411e0>] mwifiex_process_cmdresp+0x40c/0x510 [mwifiex]
        [<ffffffbffc13b8f4>] mwifiex_main_process+0x4a4/0xb00 [mwifiex]
        [<ffffffbffc13bf84>] mwifiex_main_work_queue+0x34/0x40 [mwifiex]
    Signed-off-by: default avatarBrian Norris <briannorris@chromium.org>
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    6eb2d002
init.c 21.2 KB