[PATCH] ath9k: fix null-ptr-deref in ath_chanctx_event
From: Dongliang Mu
Date: Fri Sep 01 2023 - 04:09:50 EST
Smatch reports:
ath_chanctx_event() error: we previously assumed 'vif' could be null
The function ath_chanctx_event can be called with vif argument as NULL.
If vif is NULL, ath_dbg can trigger a null pointer dereference.
Fix this by adding a null pointer check.
Fixes: 878066e745b5 ("ath9k: Add more debug statements for channel context")
Signed-off-by: Dongliang Mu <dzm91@xxxxxxxxxxx>
---
drivers/net/wireless/ath/ath9k/channel.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/ath/ath9k/channel.c b/drivers/net/wireless/ath/ath9k/channel.c
index 571062f2e82a..e343c8962d14 100644
--- a/drivers/net/wireless/ath/ath9k/channel.c
+++ b/drivers/net/wireless/ath/ath9k/channel.c
@@ -576,7 +576,9 @@ void ath_chanctx_event(struct ath_softc *sc, struct ieee80211_vif *vif,
if (sc->sched.state != ATH_CHANCTX_STATE_WAIT_FOR_BEACON)
break;
- ath_dbg(common, CHAN_CTX, "Preparing beacon for vif: %pM\n", vif->addr);
+ if (vif)
+ ath_dbg(common, CHAN_CTX,
+ "Preparing beacon for vif: %pM\n", vif->addr);
sc->sched.beacon_pending = true;
sc->sched.next_tbtt = REG_READ(ah, AR_NEXT_TBTT_TIMER);
--
2.39.2