diff mbox series

[next] wifi: ath12k: Off by one in ath12k_wmi_process_csa_switch_count_event()

Message ID 755becb1-819b-484d-8fac-9a2db53ced1b@stanley.mountain (mailing list archive)
State Accepted
Delegated to: Jeff Johnson
Headers show
Series [next] wifi: ath12k: Off by one in ath12k_wmi_process_csa_switch_count_event() | expand

Commit Message

Dan Carpenter Dec. 6, 2024, 12:52 p.m. UTC
The ahvif->vif->link_conf[] array has IEEE80211_MLD_MAX_NUM_LINKS elements
so this should be >= instead of > to avoid an out of bounds access.

Fixes: 3952657848c0 ("wifi: ath12k: Use mac80211 vif's link_conf instead of bss_conf")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
 drivers/net/wireless/ath/ath12k/wmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Kalle Valo Dec. 9, 2024, 3:45 p.m. UTC | #1
Dan Carpenter <dan.carpenter@linaro.org> writes:

> The ahvif->vif->link_conf[] array has IEEE80211_MLD_MAX_NUM_LINKS elements
> so this should be >= instead of > to avoid an out of bounds access.
>
> Fixes: 3952657848c0 ("wifi: ath12k: Use mac80211 vif's link_conf instead of bss_conf")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>

Acked-by: Kalle Valo <kvalo@kernel.org>
Jeff Johnson Dec. 11, 2024, 5:20 p.m. UTC | #2
On Fri, 06 Dec 2024 15:52:29 +0300, Dan Carpenter wrote:
> The ahvif->vif->link_conf[] array has IEEE80211_MLD_MAX_NUM_LINKS elements
> so this should be >= instead of > to avoid an out of bounds access.
> 
> 

Applied, thanks!

[1/1] wifi: ath12k: Off by one in ath12k_wmi_process_csa_switch_count_event()
      commit: 58fa8109fa8dae2947567e8f56dbd55ad81bc35c

Best regards,
diff mbox series

Patch

diff --git a/drivers/net/wireless/ath/ath12k/wmi.c b/drivers/net/wireless/ath/ath12k/wmi.c
index 402ae477da61..46c5027e4f1c 100644
--- a/drivers/net/wireless/ath/ath12k/wmi.c
+++ b/drivers/net/wireless/ath/ath12k/wmi.c
@@ -6873,7 +6873,7 @@  ath12k_wmi_process_csa_switch_count_event(struct ath12k_base *ab,
 		}
 		ahvif = arvif->ahvif;
 
-		if (arvif->link_id > IEEE80211_MLD_MAX_NUM_LINKS) {
+		if (arvif->link_id >= IEEE80211_MLD_MAX_NUM_LINKS) {
 			ath12k_warn(ab, "Invalid CSA switch count even link id: %d\n",
 				    arvif->link_id);
 			continue;