qcacld-3.0: Validate adapter magic during bus bandwidth check
qcacld-2.0 to qcacld-3.0 propagation. hdd_bus_bw_compute_cbk function is responsible for computing bus bandwidth by checking TX/RX stats per HDD adapter after taking them from adapter list. However, it's scheduled on a global timer so the following scenario can arise: 1)At time of scheduling, HDD adapter is valid and is passed. 2)During TX/RX stats check, HDD adapter is freed as a result of interface down. 3)Null hddCtx from adapter is accessed as a result and kernel panic occurs. Thus,validate adapter magic before accessing the hddCtx stored in adapter. Change-Id: If076e122db0538d01140e16305f046e68a86212a CRs-fixed: 1045004 (cherry picked from commit 27254744c270a98d15bb17e2ed48649450070385)
This commit is contained in:

committed by
qcabuildsw

vanhempi
fde0c04dc2
commit
01327cc3ec
@@ -5008,6 +5008,12 @@ static void hdd_bus_bw_compute_cbk(void *priv)
|
||||
if (adapterNode->pAdapter == NULL)
|
||||
continue;
|
||||
adapter = adapterNode->pAdapter;
|
||||
/*
|
||||
* Validate magic so we don't end up accessing
|
||||
* an invalid adapter.
|
||||
*/
|
||||
if (adapter->magic != WLAN_HDD_ADAPTER_MAGIC)
|
||||
continue;
|
||||
|
||||
if ((adapter->device_mode == QDF_STA_MODE ||
|
||||
adapter->device_mode == QDF_P2P_CLIENT_MODE) &&
|
||||
|
Viittaa uudesa ongelmassa
Block a user