Commit 29714792 authored by Felix Fietkau's avatar Felix Fietkau Committed by Liu Jian
Browse files

wifi: mac80211: do not pass a stopped vif to the driver in .get_txpower

stable inclusion
from stable-v4.19.323
commit b0b862aa3dbcd16b3c4715259a825f48ca540088
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IB37A8
CVE: CVE-2024-50237

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=b0b862aa3dbcd16b3c4715259a825f48ca540088



-------------------------------------------------

commit 393b6bc174b0dd21bb2a36c13b36e62fc3474a23 upstream.

Avoid potentially crashing in the driver because of uninitialized private data

Fixes: 5b3dc42b ("mac80211: add support for driver tx power reporting")
Cc: stable@vger.kernel.org
Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
Link: https://patch.msgid.link/20241002095630.22431-1-nbd@nbd.name


Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarLiu Jian <liujian56@huawei.com>
parent 0a813b20
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -2451,7 +2451,8 @@ static int ieee80211_get_tx_power(struct wiphy *wiphy,
	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->use_chanctx)