From: Yuseok Kim Date: Fri, 22 Mar 2019 17:26:21 +0000 (+0900) Subject: [RAMEN9610-13741][Common][9610] fix to avoid invalid scan channel X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=0e3abef8efd08a85117eb40a4c27ab7b9a07cef4;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git [RAMEN9610-13741][Common][9610] fix to avoid invalid scan channel When channel scan was triggered for ACS, invalid channel was shwon. This patch add protection code to avoid kernel panic. Change-Id: Ic84aaddb8f145ffbb4d37c46d1a9a0d8d08b1ea0 --- diff --git a/drivers/net/wireless/scsc/rx.c b/drivers/net/wireless/scsc/rx.c index d57fbeb8e2e0..109d02e5aac6 100755 --- a/drivers/net/wireless/scsc/rx.c +++ b/drivers/net/wireless/scsc/rx.c @@ -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);