Search Linux Wireless

Re: [PATCH 14/16] wifi: mac80211: Modify type of "changed" variable.

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

 



On Sun, 2023-12-03 at 08:48 -0800, Jeff Johnson wrote:
> Apologies for reporting an issue that has already been (somewhat) fixed
> by 6e48ebffc2db ("wifi: mac80211: fix mesh id corruption on 32 bit
> systems"). Issue was found internally in a backported kernel and that
> fix was not present.
> 
> But note that fix did not use DECLARE_BITMAP which I still think is the
> right thing to do everywhere we are using bitops.
> 

The mesh use here is a bit weird with the atomic ops on it, everything
else just uses plain ops (|= etc.). I think that there could be done
with cmpxchg64(), but you can't assume that on 32-bit machines ...

However, I think the whole trick is really no longer needed? A quick
look at the callers of ieee80211_mbss_info_change_notify() suggests that
they all can sleep and also already hold wiphy mutex, so there's not
even any need to bounce through the workqueue *again*? IOW, we can
remove that whole thing? Do you see anything to the contrary?

So realistically I think rather than paper over it again with
DECLARE_BITMAP() and all the right thing here to do is actually try to
understand the code again and make some cleanups, since it's grown and
(mostly?) survived two major locking restructurings, but has not been
adjusted to any of that.

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