rcutree tree warning during P2P device support testing

Arend van Spriel arend
Thu Mar 21 05:04:49 PDT 2013


On 03/20/2013 10:46 PM, Arend van Spriel wrote:
> On 03/20/2013 10:29 PM, Johannes Berg wrote:
>> On Wed, 2013-03-20 at 22:17 +0100, Arend van Spriel wrote:
>>>> Hmm, why would stopping the supplicant cause brcmfmac to unload?? Or are
>>>> you saying you first stop the supplicant, which gets you that warning,
>>>> and then unload fails?
>>>
>>> Indeed, upon stopping wpa_supplicant I get the warning. And doing a
>>> rmmod from the command line after that fails in the hang.
>>
>> Right, ok.
>>
>>>>> [ 1634.039095] WARNING: at kernel/rcutree.c:1960
>>>>> rcu_process_callbacks+0x469/0x560()
>>>>
>>>>> [ 1634.133917] Call Trace:
>>>>> [ 1634.139833]  [<c1039c92>] warn_slowpath_common+0x72/0xa0
>>>>> [ 1634.148659]  [<c10c61f9>] ? rcu_process_callbacks+0x469/0x560
>>>>> [ 1634.157914]  [<c10c61f9>] ? rcu_process_callbacks+0x469/0x560
>>>>> [ 1634.167121]  [<c1039ce2>] warn_slowpath_null+0x22/0x30
>>>>> [ 1634.175725]  [<c10c61f9>] rcu_process_callbacks+0x469/0x560
>>>>
>>>> Can't say I understand this warning ...
>>>>
>>>
>>> At least we are on the same page then ;-)
>>
>> It looks like some rcu head list corruption ... no idea really.
>>
> 
> I have now (I think). I did a kfree of the driver's vif structure, which
> is container of the wireless_dev and that is still on the rcu head list.
> 
>>> The p2p device is already removed upon stopping wpa_supplicant through
>>> .del_virtual_intf() callback. Took a quick peek in
>>> net/mac80211/iface.c:ieee80211_if_remove() and wonder whether I should
>>> do cfg80211_unregister_wdev() in that code path as well. Guess so, right?
>>
>> I think so, yes. Does the warning go away if you do? :)
> 
> Not tested yet.

That did the trick. Apparently, wpa_s/driver_nl80211 does not do a
stop_p2p_device. That is triggered by cfg80211_unregister_wdev(). Should
wpa_s do the stop_p2p_device before deleting it or is the current
behaviour fine.

Regards,
Arend





More information about the Hostap mailing list