qcacld-3.0: Add sanity check for num_hw_modes and num_phy
Add sanity check for num_hw_modes and num_phy in wma_populate_soc_caps() for WMI_SERVICE_READY_EXT_EVENTID. Change-Id: I023d737449283f9ac092d278bde016b208b2c891 CRs-Fixed: 2119887
这个提交包含在:
@@ -118,6 +118,9 @@
|
||||
/* Time(in ms) to detect DOS attack */
|
||||
#define WMA_MGMT_FRAME_DETECT_DOS_TIMER 1000
|
||||
|
||||
#define MAX_NUM_HW_MODE 0xff
|
||||
#define MAX_NUM_PHY 0xff
|
||||
|
||||
/**
|
||||
* struct index_data_rate_type - non vht data rate type
|
||||
* @mcs_index: mcs rate index
|
||||
|
@@ -5807,6 +5807,13 @@ static void wma_populate_soc_caps(t_wma_handle *wma_handle,
|
||||
return;
|
||||
}
|
||||
|
||||
if (param_buf->soc_hw_mode_caps->num_hw_modes >
|
||||
MAX_NUM_HW_MODE) {
|
||||
WMA_LOGE("Invalid num_hw_modes %u received from firmware",
|
||||
param_buf->soc_hw_mode_caps->num_hw_modes);
|
||||
return;
|
||||
}
|
||||
|
||||
qdf_mem_copy(&phy_caps->num_hw_modes,
|
||||
param_buf->soc_hw_mode_caps,
|
||||
sizeof(WMI_SOC_MAC_PHY_HW_MODE_CAPS));
|
||||
@@ -5881,6 +5888,14 @@ static void wma_populate_soc_caps(t_wma_handle *wma_handle,
|
||||
/*
|
||||
* next thing is to populate reg caps per phy
|
||||
*/
|
||||
|
||||
if (param_buf->soc_hal_reg_caps->num_phy >
|
||||
MAX_NUM_PHY) {
|
||||
WMA_LOGE("Invalid num_phy %u received from firmware",
|
||||
param_buf->soc_hal_reg_caps->num_phy);
|
||||
return;
|
||||
}
|
||||
|
||||
qdf_mem_copy(&phy_caps->num_phy_for_hal_reg_cap,
|
||||
param_buf->soc_hal_reg_caps,
|
||||
sizeof(WMI_SOC_HAL_REG_CAPABILITIES));
|
||||
|
在新工单中引用
屏蔽一个用户