[bug report] wifi: mt76: mt7925: add mt7925_change_vif_links

Dan Carpenter dan.carpenter at linaro.org
Mon Apr 28 13:51:38 PDT 2025


Ping.

regards,
dan carpetner

On Fri, Jul 12, 2024 at 10:32:40AM -0500, Dan Carpenter wrote:
> Hello Sean Wang,
> 
> This is a semi-automatic email about new static checker warnings.
> 
> Commit 69acd6d910b0 ("wifi: mt76: mt7925: add
> mt7925_change_vif_links") from Jul 6, 2024, leads to the following
> Smatch complaint:
> 
>     drivers/net/wireless/mediatek/mt76/mt7925/mcu.c:1155 mt7925_mcu_set_mlo_roc()
>     warn: variable dereferenced before check 'mconf' (see line 1127)
> 
> drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
>   1126	{
>   1127		struct mt792x_vif *mvif = mconf->vif;
>                                           ^^^^^^^^^^
> Dereference
> 
>   1128		struct ieee80211_vif *vif = container_of((void *)mvif,
>   1129							 struct ieee80211_vif, drv_priv);
>   1130		struct ieee80211_bss_conf *link_conf;
>   1131		struct ieee80211_channel *chan;
>   1132		const u8 ch_band[] = {
>   1133			[NL80211_BAND_2GHZ] = 1,
>   1134			[NL80211_BAND_5GHZ] = 2,
>   1135			[NL80211_BAND_6GHZ] = 3,
>   1136		};
>   1137		enum mt7925_roc_req type;
>   1138		int center_ch, i = 0;
>   1139		bool is_AG_band = false;
>   1140		struct {
>   1141			u8 id;
>   1142			u8 bss_idx;
>   1143			u16 tag;
>   1144			struct mt792x_bss_conf *mconf;
>   1145			struct ieee80211_channel *chan;
>   1146		} links[2];
>   1147	
>   1148		struct {
>   1149			struct {
>   1150				u8 rsv[4];
>   1151			} __packed hdr;
>   1152			struct roc_acquire_tlv roc[2];
>   1153		} __packed req;
>   1154	
>   1155		if (!mconf || hweight16(vif->valid_links) < 2 ||
>                      ^^^^^
> Checked too late
> 
>   1156		    hweight16(sel_links) != 2)
>   1157			return -EPERM;
> 
> regards,
> dan carpenter



More information about the Linux-mediatek mailing list