ath11k: fix KASAN warning of ath11k_qmi_wlanfw_wlan_cfg_send
authorCarl Huang <cjhuang@codeaurora.org>
Fri, 14 Aug 2020 07:10:28 +0000 (10:10 +0300)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 17 Aug 2020 10:18:33 +0000 (13:18 +0300)
It's caused by reading memory out of boundary from target_ce_config_wlan.

Tested-on: QCA6390 hw2.0 PCI WLAN.HST.1.0.1-01740-QCAHSTSWPLZ_V2_TO_X86-1
Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.1.0.1-01238-QCAHKSWPL_SILICONZ-2

Signed-off-by: Carl Huang <cjhuang@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1597389030-13887-10-git-send-email-kvalo@codeaurora.org
drivers/net/wireless/ath/ath11k/qmi.c

index 529886b..12991a8 100644 (file)
@@ -2233,7 +2233,7 @@ static int ath11k_qmi_wlanfw_wlan_cfg_send(struct ath11k_base *ab)
        req->tgt_cfg_valid = 1;
        /* This is number of CE configs */
        req->tgt_cfg_len = ab->qmi.ce_cfg.tgt_ce_len;
-       for (pipe_num = 0; pipe_num <= req->tgt_cfg_len ; pipe_num++) {
+       for (pipe_num = 0; pipe_num < req->tgt_cfg_len ; pipe_num++) {
                req->tgt_cfg[pipe_num].pipe_num = ce_cfg[pipe_num].pipenum;
                req->tgt_cfg[pipe_num].pipe_dir = ce_cfg[pipe_num].pipedir;
                req->tgt_cfg[pipe_num].nentries = ce_cfg[pipe_num].nentries;