[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <22e24ec8-283f-49e9-b7b0-555e8113c250@web.de>
Date: Mon, 3 Mar 2025 14:18:18 +0100
From: Markus Elfring <Markus.Elfring@....de>
To: kernel-janitors@...r.kernel.org, linux-wireless@...r.kernel.org,
netdev@...r.kernel.org, Benjamin Berg <benjamin.berg@...el.com>,
Gregory Greenman <gregory.greenman@...el.com>,
"David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Johannes Berg <johannes.berg@...el.com>,
Kalle Valo <kvalo@...nel.org>,
Miri Korenblit <miriam.rachel.korenblit@...el.com>,
Paolo Abeni <pabeni@...hat.com>, Sriram R <quic_srirrama@...cinc.com>
Cc: cocci@...ia.fr, LKML <linux-kernel@...r.kernel.org>,
Simon Horman <horms@...nel.org>
Subject: [PATCH RESEND] iwlwifi: Adjust input parameter validation in
iwl_sta_calc_ht_flags()
From: Markus Elfring <elfring@...rs.sourceforge.net>
Date: Wed, 19 Apr 2023 19:19:34 +0200
The address of a data structure member was determined before
a corresponding null pointer check in the implementation of
the function “iwl_sta_calc_ht_flags”.
Thus avoid the risk for undefined behaviour by moving the assignment
for the variable “sta_ht_inf” behind the null pointer check.
This issue was detected by using the Coccinelle software.
Fixes: 046d2e7c50e3 ("mac80211: prepare sta handling for MLO support")
Signed-off-by: Markus Elfring <elfring@...rs.sourceforge.net>
---
drivers/net/wireless/intel/iwlwifi/dvm/sta.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/sta.c b/drivers/net/wireless/intel/iwlwifi/dvm/sta.c
index cef43cf80620..74814ce0155e 100644
--- a/drivers/net/wireless/intel/iwlwifi/dvm/sta.c
+++ b/drivers/net/wireless/intel/iwlwifi/dvm/sta.c
@@ -147,7 +147,7 @@ static void iwl_sta_calc_ht_flags(struct iwl_priv *priv,
struct iwl_rxon_context *ctx,
__le32 *flags, __le32 *mask)
{
- struct ieee80211_sta_ht_cap *sta_ht_inf = &sta->deflink.ht_cap;
+ struct ieee80211_sta_ht_cap *sta_ht_inf;
*mask = STA_FLG_RTS_MIMO_PROT_MSK |
STA_FLG_MIMO_DIS_MSK |
@@ -156,7 +156,11 @@ static void iwl_sta_calc_ht_flags(struct iwl_priv *priv,
STA_FLG_AGG_MPDU_DENSITY_MSK;
*flags = 0;
- if (!sta || !sta_ht_inf->ht_supported)
+ if (!sta)
+ return;
+
+ sta_ht_inf = &sta->deflink.ht_cap;
+ if (!sta_ht_inf->ht_supported)
return;
IWL_DEBUG_INFO(priv, "STA %pM SM PS mode: %s\n",
--
2.40.0
Powered by blists - more mailing lists