Search Linux Wireless

Re: Memory leak in mwifiex_cfg80211_scan

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Apr 25, 2013 at 4:50 PM, Bing Zhao <bzhao@xxxxxxxxxxx> wrote:
> Hi Daniel,
>
>> While I don't have an explanation for why kmemleak didn't detect this
>> before, I have confirmed with some simple printks that mwifiex does
>> not call free_netdev on the netdev that it allocates, at least when
>> using the test script posted earlier in this thread. So that is
>> another leak that must be fixed.
>
> Yes it is. Attached is a patch from Amitkumar Karwar to fix it.

Thanks.  This seems to be working, and makes kmemleak happy.
So when we find a race-free way to free user_scan_cfg, we can probably
end this topic.

> One scan request from cfg80211 is split to multiple scan commands being sent from driver to firmware.
> If scan_request is cleared (e.g. mwifiex_close) during a scan command processing, all pending scan commands will be aborted after getting response of previous scan command, and scan_delay_timer is modified to fire in 50ms.
>
> With original script (mwifiex_sdio is removed), I don't see scan_delay_timer_fn() gets triggered either. My assumption is that the scan_pending_q has already been emptied, so we don't run into the same path as above.

So far I have not managed to get scan_delay_timer_fn() to execute at
all - even when I am not using that script. But I have not really
diagnosed why. I was wondering if there's anything obvious I might be
missing.

Thanks
Daniel
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux