• Johannes Berg's avatar
    mac80211: fix locking in update_vlan_tailroom_need_count() · 51f458d9
    Johannes Berg authored
    Unfortunately, Michal's change to fix AP_VLAN crypto tailroom
    caused a locking issue that was reported by lockdep, but only
    in a few cases - the issue was a classic ABBA deadlock caused
    by taking the mtx after the key_mtx, where normally they're
    taken the other way around.
    
    As the key mutex protects the field in question (I'm adding a
    few annotations to make that clear) only the iteration needs
    to be protected, but we can also iterate the interface list
    with just RCU protection while holding the key mutex.
    
    Fixes: f9dca80b ("mac80211: fix AP_VLAN crypto tailroom calculation")
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    51f458d9
key.c 31.9 KB