summaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2010-01-22 22:07:59 +0100
committerJohn W. Linville <linville@tuxdriver.com>2010-01-22 16:33:28 -0500
commitf12553ebe045a8a40ab33fa500fb57d10706e226 (patch)
tree936682b710e2bb6e132a2ec4ecae9c96e64d42ec /net/mac80211
parentb92f7d30830a319148df2943b7565989494e5ad1 (diff)
downloadlinux-f12553ebe045a8a40ab33fa500fb57d10706e226.tar.gz
linux-f12553ebe045a8a40ab33fa500fb57d10706e226.tar.bz2
linux-f12553ebe045a8a40ab33fa500fb57d10706e226.zip
mac80211: add missing key check
ieee80211_tx_h_select_key might decide that a frame need not be encrypted at all, in which case it will clear tx->key. In that case it may crash if a key was previously selected, e.g. as the default key. This is also due to my patch "mac80211: move control.hw_key assignment". Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/tx.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index da557b0d0114..fcfa988a37a3 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -557,7 +557,7 @@ ieee80211_tx_h_select_key(struct ieee80211_tx_data *tx)
break;
}
- if (!skip_hw &&
+ if (!skip_hw && tx->key &&
tx->key->conf.flags & KEY_FLAG_UPLOADED_TO_HARDWARE)
info->control.hw_key = &tx->key->conf;
}