Search Linux Wireless

Re: [REGRESSION] Freeze on resume from S3 (bisected)

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

 



I don't really know any of this here, but ...

+       ret = rtw89_hw_scan_offload(rtwdev, vif, false);
+       if (ret)
+               rtw89_hw_scan_complete(rtwdev, vif, true);

seems strange? You have to say that it was completed here, in the good
case, so maybe that was meant to be !ret?

It _looks_ like the crash is a use-after-free (the wiphy pointer in a
scan request cannot become NULL in normal flows), so maybe try with
KASAN rather than waiting for the crash. According to the logs, it
doesn't happen every time even for the reporter.

There possibly seems to be some issue between cfg80211 and mac80211 in
this code, we see the WARN_ON() in cfg80211_netdev_notifier_call() in
the NETDEV_DOWN case, which calls ___cfg80211_scan_done() which frees
the scan request. But shortly after the HW crashes, and we have
"ieee80211_restart_work called with hardware scan in progress", mac80211
wants to cancel the HW scan but the HW is dead ("wlo1: Failed check-
sdata-in-driver check, flags: 0x0"), and we see again "phy0: resume with
hardware scan still in progress" ... but this time once tasks are
restarted it crashes ...

So I think KASAN, possibly rtw debugs, and perhaps something like
https://p.sipsolutions.net/602684f34abfcf7c.txt will help debug it (yes
it adds a leak)

johannes





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

  Powered by Linux