Ensure phy->mib is only accessed after the null sanity check for phy otherwise the code may trigger a potential null deref. Signed-off-by: Qasim Ijaz <qasdev00@xxxxxxxxx> --- drivers/net/wireless/mediatek/mt76/mt7996/main.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/mediatek/mt76/mt7996/main.c b/drivers/net/wireless/mediatek/mt76/mt7996/main.c index 88e013577c0d..19391966ee3e 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7996/main.c +++ b/drivers/net/wireless/mediatek/mt76/mt7996/main.c @@ -1875,7 +1875,7 @@ void mt7996_get_et_stats(struct ieee80211_hw *hw, struct mt7996_dev *dev = mt7996_hw_dev(hw); struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv; struct mt7996_phy *phy = mt7996_vif_link_phy(&mvif->deflink); - struct mt76_mib_stats *mib = &phy->mib; + struct mt76_mib_stats *mib; struct mt76_ethtool_worker_info wi = { .data = data, .idx = mvif->deflink.mt76.idx, @@ -1886,6 +1886,8 @@ void mt7996_get_et_stats(struct ieee80211_hw *hw, if (!phy) return; + mib = &phy->mib; + mutex_lock(&dev->mt76.mutex); mt7996_mac_update_stats(phy); -- 2.39.5