wlan: Validate timer callbacks for NULL pointer de-reference
Address possible kernel panics due to NULL pointer de-references
in timer callbacks during load/unload or SSR by validating the
context for same.
Change-Id: I6333eb132e893b191dd1f2ec11902457b7fb565c
CRs-Fixed: 805636
diff --git a/CORE/HDD/src/wlan_hdd_dev_pwr.c b/CORE/HDD/src/wlan_hdd_dev_pwr.c
index a4b1e7c..094e1d4 100644
--- a/CORE/HDD/src/wlan_hdd_dev_pwr.c
+++ b/CORE/HDD/src/wlan_hdd_dev_pwr.c
@@ -490,13 +490,11 @@
{
hdd_context_t *pHddCtx = (hdd_context_t *)usrData;
hdd_adapter_t *staAdapater;
- /* Sanity, This should not happen */
- if(NULL == pHddCtx)
+
+ ENTER();
+ if (0 != (wlan_hdd_validate_context(pHddCtx)))
{
- VOS_TRACE(VOS_MODULE_ID_HDD,VOS_TRACE_LEVEL_ERROR,
- "%s: NULL Context", __func__);
- VOS_ASSERT(0);
- return;
+ return;
}
staAdapater = hdd_get_adapter(pHddCtx, WLAN_HDD_INFRA_STATION);
@@ -523,6 +521,7 @@
pHddCtx->tmInfo.qBlocked = VOS_FALSE;
mutex_unlock(&pHddCtx->tmInfo.tmOperationLock);
+ EXIT();
return;
}