mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 14:34:27 -05:00 
			
		
		
		
	Fixes potential crashes in various drivers when checking the status of interfaces that are down Signed-off-by: Felix Fietkau <nbd@nbd.name>
		
			
				
	
	
		
			25 lines
		
	
	
		
			827 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			827 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
From: Felix Fietkau <nbd@nbd.name>
 | 
						|
Date: Wed, 2 Oct 2024 11:45:35 +0200
 | 
						|
Subject: [PATCH] wifi: mac80211: do not pass a stopped vif to the driver in
 | 
						|
 .get_txpower
 | 
						|
 | 
						|
Avoid potentially crashing in the driver because of uninitialized private data
 | 
						|
 | 
						|
Fixes: 5b3dc42b1b0d ("mac80211: add support for driver tx power reporting")
 | 
						|
Cc: stable@vger.kernel.org
 | 
						|
Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
						|
---
 | 
						|
 | 
						|
--- a/net/mac80211/cfg.c
 | 
						|
+++ b/net/mac80211/cfg.c
 | 
						|
@@ -3134,7 +3134,8 @@ static int ieee80211_get_tx_power(struct
 | 
						|
 	struct ieee80211_local *local = wiphy_priv(wiphy);
 | 
						|
 	struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev);
 | 
						|
 
 | 
						|
-	if (local->ops->get_txpower)
 | 
						|
+	if (local->ops->get_txpower &&
 | 
						|
+	    (sdata->flags & IEEE80211_SDATA_IN_DRIVER))
 | 
						|
 		return drv_get_txpower(local, sdata, dbm);
 | 
						|
 
 | 
						|
 	if (local->emulate_chanctx)
 |