Browse Source

qcacld-3.0: During WiFi turn on get hdd_ctx after driver load

Currently while turning on WiFi, driver is getting hdd_ctx first and
then waiting for driver load to complete. This may lead to use after
free access if there is a probe fail during the driver load.

To avoid this, get hdd_ctx after driver load is complete.

Change-Id: I90132a3cf8eb8047d0854f781dbe968bccef94cf
CRs-Fixed: 2839442
Bapiraju Alla 4 years ago
parent
commit
9cec6b852e
1 changed files with 2 additions and 1 deletions
  1. 2 1
      core/hdd/src/wlan_hdd_main.c

+ 2 - 1
core/hdd/src/wlan_hdd_main.c

@@ -16151,7 +16151,7 @@ static ssize_t wlan_hdd_state_ctrl_param_write(struct file *filp,
 	static const char wlan_on_str[] = "ON";
 	int ret;
 	unsigned long rc;
-	struct hdd_context *hdd_ctx = cds_get_context(QDF_MODULE_ID_HDD);
+	struct hdd_context *hdd_ctx;
 
 	if (copy_from_user(buf, user_buf, 3)) {
 		pr_err("Failed to read buffer\n");
@@ -16186,6 +16186,7 @@ static ssize_t wlan_hdd_state_ctrl_param_write(struct file *filp,
 	 * Flush idle shutdown work for cases to synchronize the wifi on
 	 * during the idle shutdown.
 	 */
+	hdd_ctx = cds_get_context(QDF_MODULE_ID_HDD);
 	if (hdd_ctx)
 		hdd_psoc_idle_timer_stop(hdd_ctx);