Эх сурвалжийг харах

cfg80211: Ingore country IEs with a zero set of number of channels

Previous to this and the last patch, titled,

"cfg80211: Fix 2 GHz subband calculation for country IEs"

we would end up treating these IEs as single channel units. These are in
fact just bogus IE triplets so ignore the entire IE if these are found.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Luis R. Rodriguez 16 жил өмнө
parent
commit
a0f2e0fca1

+ 6 - 0
net/wireless/reg.c

@@ -585,6 +585,9 @@ static int max_subband_chan(int orig_cur_chan,
 			break;
 			break;
 		}
 		}
 
 
+		if (triplet->chans.num_channels == 0)
+			return 0;
+
 		/* Monitonically increasing channel order */
 		/* Monitonically increasing channel order */
 		if (triplet->chans.first_channel <= end_subband_chan)
 		if (triplet->chans.first_channel <= end_subband_chan)
 			return 0;
 			return 0;
@@ -737,6 +740,9 @@ static struct ieee80211_regdomain *country_ie_2_rd(
 			break;
 			break;
 		}
 		}
 
 
+		if (triplet->chans.num_channels == 0)
+			return NULL;
+
 		/* 2 GHz */
 		/* 2 GHz */
 		if (triplet->chans.first_channel <= 14)
 		if (triplet->chans.first_channel <= 14)
 			end_channel = triplet->chans.first_channel +
 			end_channel = triplet->chans.first_channel +