Search Linux Wireless

Re: [PATCH 3/5] wilc1000: fix crash observed in AP mode with cfg80211_register_netdevice()

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

 



On 09/05/22 17:20, Kalle Valo wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> <Ajay.Kathat@xxxxxxxxxxxxx> writes:
>
>> From: Ajay Singh <ajay.kathat@xxxxxxxxxxxxx>
>>
>> Monitor(mon.) interface is used for handling the AP mode and 'ieee80211_ptr'
>> reference is not getting set for it. Like earlier implementation,
>> use register_netdevice() instead of cfg80211_register_netdevice() which
>> expects valid 'ieee80211_ptr' reference to avoid the possible crash.
>>
>> Fixes: 2fe8ef106238 ("cfg80211: change netdev registration/unregistration semantics")
>> Signed-off-by: Ajay Singh <ajay.kathat@xxxxxxxxxxxxx>
> Is there a reason why wilc1000 does not use ieee8011_ptr? And what
> earlier implementation are you referring to?


As I understand, in WILC "ieee80211_ptr" is used for the station/AP 
interface but not to configure the monitor interface which gets 
additionally added in AP mode. In AP mode, for an interface( wlan0 ), an 
additional monitor interface( mon.wlan0 ) gets created. A netdevice is 
register for monitor interface(mon.wlan0) to transmit/receive frames 
from/to hostapd. That interface doesn't explicitly set up 
'ieee80211_ptr' because the original interface(wlan0) uses it, so using 
"cfg80211_register/unregister" API's for mon.wlan0 interfaces fails.

For AP monitor interface, the earlier implementation was using 
register_netdevice()/unregister_netdevice() API which doesn't depends on 
'ieee80211_ptr' for netdevice registration so retained the previous API.


Regards,
Ajay





[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