Re: page fault during rtw89 detach in ieee80211_ratectl_rate

From: Bjoern A. Zeeb <bz_at_FreeBSD.org>
Date: Tue, 11 Mar 2025 09:59:14 UTC
On Sun, 9 Mar 2025, Tilman Keskinöz wrote:

Hi,

> During driver detach (while launching wifibox) I got a onetime panic. 
> Fullbacktrace attached.
>
> This is with compat.linuxkpi.80211.hw_crypto disabled. So far I haven't been 
> able to reproduce it, so leaving it here just for reference.

How did you "detach"?  Did you down the interface or run netif stop
wlan0 or ..?


> To my uninformed eye, it looke like in fr 17, parameter should be a "ni" and 
> not an iv_bss.

ni and iv_bss should be the same but I see what you mean;
net80211 swapped the iv_bss away from under us.

Can you file a bug report Blocking 273621 for this.   Feel free to just
point at the mail in the list archive for details:
https://lists.freebsd.org/archives/freebsd-wireless/2025-March/003038.html

That way we can track it properly.

Thanks a lot!
Bjoern


> #16 ieee80211_ratectl_rate (ni=0x0, ni@entry=0xfffffe012641b440, arg=0x0,
>    iarg=0) at /usr/src/sys/net80211/ieee80211_ratectl.h:133
>        vap = <optimized out>
> #17 linuxkpi_ieee80211_tx_status_ext (hw=hw@entry=0xfffffe012641b440,
>    txstat=txstat@entry=0xfffffe00d07ef828)
>    at /usr/src/sys/compat/linuxkpi/common/src/linux_80211.c:7007
>        txs = {flags = 1, status = IEEE80211_RATECTL_TX_FAIL_UNSPECIFIED,
>          pktlen = 26, final_rate = 0, short_retries = 0, long_retries = 0,
>          rssi = 0 '\000', spare = '\000' <repeats 14 times>}
>        skb = 0xfffffe0127cf4000
>        ni = 0xfffffe0128901000
>        info = 0xfffffe0127cf4040
>        status = <optimized out>
> #18 0xffffffff80a1fd25 in ieee80211_tx_status_ext (hw=0x0,
>    hw@entry=0xfffffe012641b440, txstat=0xfffffe00d07ef828)
>    at /usr/src/sys/compat/linuxkpi/common/include/net/mac80211.h:2240
> No locals.
> #19 linuxkpi_ieee80211_tx_status (hw=0x0, hw@entry=0xfffffe012641b440,
>    skb=skb@entry=0xfffffe0127cf4000)
>    at /usr/src/sys/compat/linuxkpi/common/src/linux_80211.c:7060
>        status = {sta = 0x0, info = 0xfffffe0127cf4040, ack_hwtstamp = 0,
>          n_rates = 0 '\000', rates = 0x0, skb = 0xfffffe0127cf4000,
>          free_list = 0x0}
>

-- 
Bjoern A. Zeeb                                                     r15:7