[PATCH v6] wifi: mt76: Fix NULL Dereference caused by mt76_connac_get_he_phy_cap()

Krzysztof Kozlowski krzk at kernel.org
Mon Oct 7 23:19:36 PDT 2024


On 08/10/2024 01:35, Gax-c wrote:
> From: Zichen Xie <zichenxie0106 at gmail.com>
> 
> mt76_connac_get_he_phy_cap() may return a NULL pointer,
> leading to NULL Pointer Dereference.
> Add a NULL check for the returned pointer.
> 
> Fixes: a5c372f77aa7 ("wifi: mt76: mt7925: extend mt7925_mcu_bss_he_tlv for per-link BSS")
> Fixes: e6d557a78b60 ("mt76: mt7915: rely on mt76_connac_get_phy utilities")
> Fixes: 98686cd21624 ("wifi: mt76: mt7996: add driver for MediaTek Wi-Fi 7 (802.11be) devices")
> Signed-off-by: Zichen Xie <zichenxie0106 at gmail.com>
> ---
> v5: Add version tag.
> v6: Adjust NULL check position for readability.
> ---
>  drivers/net/wireless/mediatek/mt76/mt7915/mcu.c | 5 +++++
>  drivers/net/wireless/mediatek/mt76/mt7925/mcu.c | 2 ++
>  drivers/net/wireless/mediatek/mt76/mt7996/mcu.c | 2 ++
>  3 files changed, 9 insertions(+)
> 
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
> index 87d0dd040001..4d53f819c5f1 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
> +++ b/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
> @@ -551,6 +551,8 @@ mt7915_mcu_bss_he_tlv(struct sk_buff *skb, struct ieee80211_vif *vif,
>  	struct tlv *tlv;
>  
>  	cap = mt76_connac_get_he_phy_cap(phy->mt76, vif);
> +	if (!cap)
> +		return;
>  
>  	tlv = mt76_connac_mcu_add_tlv(skb, BSS_INFO_HE_BASIC, sizeof(*he));
>  
> @@ -1140,6 +1142,9 @@ mt7915_mcu_sta_bfer_he(struct ieee80211_sta *sta, struct ieee80211_vif *vif,
>  	struct ieee80211_he_cap_elem *pe = &pc->he_cap_elem;
>  	const struct ieee80211_sta_he_cap *vc =
>  		mt76_connac_get_he_phy_cap(phy->mt76, vif);
> +	if (!vc)
> +		return;
> +

Nope. Splitting declarations is a no.

One of your patches did not even build, although for few emails you were
insisting everything is fine. This is not even close to Linux coding style.

Please carefully read Documentation/process before posting new patches.

Best regards,
Krzysztof




More information about the Linux-mediatek mailing list