From: Johannes Berg Date: Mon, 25 Feb 2008 15:27:45 +0000 (+0100) Subject: mac80211: split ieee80211_key_alloc/free X-Git-Tag: v2.6.26-rc1~1138^2~530^2~1 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=db4d1169d0b893bfb7923b6526748fe2c5a7373f;p=pandora-kernel.git mac80211: split ieee80211_key_alloc/free 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 appropriately. 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: Johannes Berg Signed-off-by: John W. Linville --- Reading git-diff-tree failed