[RAMEN9610-13741][Common][9610] fix to avoid invalid scan channel
authorYuseok Kim <yuseok21.kim@samsung.com>
Fri, 22 Mar 2019 17:26:21 +0000 (02:26 +0900)
committerCosmin Tanislav <demonsingur@gmail.com>
Mon, 22 Apr 2024 17:23:21 +0000 (20:23 +0300)
When channel scan was triggered for ACS, invalid channel was shwon.
This patch add protection code to avoid kernel panic.

Change-Id: Ic84aaddb8f145ffbb4d37c46d1a9a0d8d08b1ea0

drivers/net/wireless/scsc/rx.c

index d57fbeb8e2e00c9e2aa2537eff1c869ec6720b20..109d02e5aac62eb954c41750dc82467f71c09b75 100755 (executable)
@@ -847,6 +847,11 @@ struct slsi_acs_chan_info *slsi_acs_scan_results(struct slsi_dev *sdev, struct n
 
                idx = slsi_find_chan_idx(scan_channel->hw_value, ndev_vif->scan[SLSI_SCAN_HW_ID].acs_request->hw_mode);
                SLSI_DBG3(sdev, SLSI_MLME, "chan_idx:%d chan_value: %d\n", idx, ch_info[idx].chan);
+
+               if ((idx < 0) || (idx > 24)) {
+                       SLSI_DBG3(sdev, SLSI_MLME, "idx is not in range idx=%d\n", idx);
+                       goto next_scan;
+               }
                if (ch_info[idx].chan) {
                        ch_info[idx].num_ap += 1;
                        ie = cfg80211_find_ie(WLAN_EID_QBSS_LOAD, mgmt->u.beacon.variable, ies_len);