Skip to content
  • Johannes Berg's avatar
    mac80211: split ieee80211_key_alloc/free · db4d1169
    Johannes Berg authored
    In order to RCU-ify sta_info, we need to be able to allocate
    a key without linking it to an sdata/sta structure (because
    allocation cannot be done in an rcu critical section). This
    patch splits up ieee80211_key_alloc() and updates all users
    While at it, this patch fixes a number of race conditions
    such as finally making key replacement atomic, unfortunately
    at the expense of more complex code.
    Note that this patch documents /existing/ bugs with sta info
    and key interaction, there is currently a race condition
    when a sta info is freed without holding the RTNL. This will
    finally be fixed by a followup patch.
    Signed-off-by: default avatarJohannes Berg <>
    Signed-off-by: default avatarJohn W. Linville <>