On Mon, 2024-11-04 at 18:24 +0100, Issam Hamdi wrote: > On 32-bit systems, the size of an unsigned long is 4 bytes, yes > while a u64 is 8 bytes. yes > Therefore, when using > or_each_set_bit(bit, &bits, sizeof(changed) * BITS_PER_BYTE), > the code is incorrectly searching for a bit in a 32-bit > variable that is expected to be 64 bits in size, > leading to incorrect bit finding. No. > +++ b/net/mac80211/mesh.c > @@ -1164,7 +1164,7 @@ void ieee80211_mbss_info_change_notify(struct ieee80211_sub_if_data *sdata, You evidently have _hundreds_ of out-of-tree lines, probably some of those cause this bug too. johannes