mac80211: add missing key check
authorJohannes Berg <johannes@sipsolutions.net>
Fri, 22 Jan 2010 21:07:59 +0000 (22:07 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 22 Jan 2010 21:33:28 +0000 (16:33 -0500)
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>
net/mac80211/tx.c

index da557b0d0114bd10b85b5831d8525e1bb19b2454..fcfa988a37a3380c1907bdeb976dedd44f9a9670 100644 (file)
@@ -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;
        }