Johannes Berg says: ==================== Two fixes: * bridge vs. 4-addr mode check was wrong * management frame registrations locking was wrong, causing list corruption/crashes ====================
Showing the changes to include (1 of 5 files). Show all
Unified · Split
| @@ -5376,7 +5376,6 @@ static inline void wiphy_unlock(struct wiphy *wiphy) · 5375 unmodified lines | |||
| 5376 | * netdev and may otherwise be used by driver read-only, will be update | 5376 | * netdev and may otherwise be used by driver read-only, will be update |
| 5377 | * by cfg80211 on change_interface | 5377 | * by cfg80211 on change_interface |
| 5378 | * @mgmt_registrations: list of registrations for management frames | 5378 | * @mgmt_registrations: list of registrations for management frames |
| 5379 | * @mgmt_registrations_lock: lock for the list | ||
| 5380 | * @mgmt_registrations_need_update: mgmt registrations were updated, | 5379 | * @mgmt_registrations_need_update: mgmt registrations were updated, |
| 5381 | * need to propagate the update to the driver | 5380 | * need to propagate the update to the driver |
| 5382 | * @mtx: mutex used to lock data in this struct, may be used by drivers | 5381 | * @mtx: mutex used to lock data in this struct, may be used by drivers |
| @@ -5423,7 +5422,6 @@ struct wireless_dev { · 40 unmodified lines | |||
| 5423 | u32 identifier; | 5422 | u32 identifier; |
| 5424 | 5423 | ||
| 5425 | struct list_head mgmt_registrations; | 5424 | struct list_head mgmt_registrations; |
| 5426 | spinlock_t mgmt_registrations_lock; | ||
| 5427 | u8 mgmt_registrations_need_update:1; | 5425 | u8 mgmt_registrations_need_update:1; |
| 5428 | 5426 | ||
| 5429 | struct mutex mtx; | 5427 | struct mutex mtx; |