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

cfg80211: free rd on unlikely event on 11d hint

This was never happening but it was still wrong, so correct it.

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

+ 5 - 1
net/wireless/reg.c

@@ -1341,7 +1341,7 @@ void regulatory_hint_11d(struct wiphy *wiphy,
 	 * it as it would indicate a mistake in the current design
 	 * it as it would indicate a mistake in the current design
 	 */
 	 */
 	if (WARN_ON(reg_same_country_ie_hint(wiphy, checksum)))
 	if (WARN_ON(reg_same_country_ie_hint(wiphy, checksum)))
-		goto out;
+		goto free_rd_out;
 
 
 	/* We keep this around for when CRDA comes back with a response so
 	/* We keep this around for when CRDA comes back with a response so
 	 * we can intersect with that */
 	 * we can intersect with that */
@@ -1350,6 +1350,10 @@ void regulatory_hint_11d(struct wiphy *wiphy,
 	__regulatory_hint(wiphy, REGDOM_SET_BY_COUNTRY_IE,
 	__regulatory_hint(wiphy, REGDOM_SET_BY_COUNTRY_IE,
 		country_ie_regdomain->alpha2, checksum, env);
 		country_ie_regdomain->alpha2, checksum, env);
 
 
+	goto out;
+
+free_rd_out:
+	kfree(rd);
 out:
 out:
 	mutex_unlock(&cfg80211_mutex);
 	mutex_unlock(&cfg80211_mutex);
 }
 }