mac80211: reject extra IEs for probe request when hw_scan
We cannot currently hand off extra IEs to hw_scan, so reject configuring extra IEs for probe request frames when hw_scan is set. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Cc: Jouni Malinen <j@w1.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
		
							parent
							
								
									e4e5e2b0b8
								
							
						
					
					
						commit
						60b2251192
					
				| @ -1176,11 +1176,16 @@ static int ieee80211_set_channel(struct wiphy *wiphy, | ||||
| 	return ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_CHANNEL); | ||||
| } | ||||
| 
 | ||||
| static int set_mgmt_extra_ie_sta(struct ieee80211_if_sta *ifsta, u8 subtype, | ||||
| 				 u8 *ies, size_t ies_len) | ||||
| static int set_mgmt_extra_ie_sta(struct ieee80211_sub_if_data *sdata, | ||||
| 				 u8 subtype, u8 *ies, size_t ies_len) | ||||
| { | ||||
| 	struct ieee80211_local *local = sdata->local; | ||||
| 	struct ieee80211_if_sta *ifsta = &sdata->u.sta; | ||||
| 
 | ||||
| 	switch (subtype) { | ||||
| 	case IEEE80211_STYPE_PROBE_REQ >> 4: | ||||
| 		if (local->ops->hw_scan) | ||||
| 			break; | ||||
| 		kfree(ifsta->ie_probereq); | ||||
| 		ifsta->ie_probereq = ies; | ||||
| 		ifsta->ie_probereq_len = ies_len; | ||||
| @ -1244,7 +1249,7 @@ static int ieee80211_set_mgmt_extra_ie(struct wiphy *wiphy, | ||||
| 	switch (sdata->vif.type) { | ||||
| 	case NL80211_IFTYPE_STATION: | ||||
| 	case NL80211_IFTYPE_ADHOC: | ||||
| 		ret = set_mgmt_extra_ie_sta(&sdata->u.sta, params->subtype, | ||||
| 		ret = set_mgmt_extra_ie_sta(sdata, params->subtype, | ||||
| 					    ies, ies_len); | ||||
| 		break; | ||||
| 	default: | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user