[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