diff options
author | Sandeep Singh <quic_sandsing@quicinc.com> | 2023-02-23 12:33:59 +0530 |
---|---|---|
committer | Madan Koyyalamudi <quic_mkoyyala@quicinc.com> | 2023-02-28 18:35:39 -0800 |
commit | ecd2be21ed2ec2818afe705170d3dbce5ef4b192 (patch) | |
tree | 9f985dcfce11f1d2a88785b2c25d6d8ee8c3e67e | |
parent | 01cb81be76d76fe466529a82b35b2f2ace196e5a (diff) | |
download | wlan-platform-ecd2be21ed2ec2818afe705170d3dbce5ef4b192.tar.gz |
icnss2: Add null check for priv variable
Add null check for priv variable to avoid null
pointer dereference.
Change-Id: Ib1746d564f27f8096f66761946d37a2a3faf2e57
CRs-Fixed: 3378034
-rw-r--r-- | icnss2/main.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/icnss2/main.c b/icnss2/main.c index 566a132..4a037ae 100644 --- a/icnss2/main.c +++ b/icnss2/main.c @@ -152,6 +152,9 @@ static ssize_t icnss_sysfs_store(struct kobject *kobj, { struct icnss_priv *priv = icnss_get_plat_priv(); + if (!priv) + return count; + icnss_pr_dbg("Received shutdown indication"); atomic_set(&priv->is_shutdown, true); @@ -466,7 +469,7 @@ static int icnss_send_smp2p(struct icnss_priv *priv, unsigned int value = 0; int ret; - if (IS_ERR(priv->smp2p_info[smp2p_entry].smem_state)) + if (!priv || IS_ERR(priv->smp2p_info[smp2p_entry].smem_state)) return -EINVAL; /* No Need to check FW_DOWN for ICNSS_RESET_MSG */ @@ -547,11 +550,11 @@ static irqreturn_t fw_crash_indication_handler(int irq, void *ctx) icnss_pr_err("Received early crash indication from FW\n"); - if (priv->wpss_self_recovery_enabled) - mod_timer(&priv->wpss_ssr_timer, - jiffies + msecs_to_jiffies(ICNSS_WPSS_SSR_TIMEOUT)); - if (priv) { + if (priv->wpss_self_recovery_enabled) + mod_timer(&priv->wpss_ssr_timer, + jiffies + msecs_to_jiffies(ICNSS_WPSS_SSR_TIMEOUT)); + set_bit(ICNSS_FW_DOWN, &priv->state); icnss_ignore_fw_timeout(true); @@ -2426,6 +2429,9 @@ static void icnss_pdr_notifier_cb(int state, char *service_path, void *priv_cb) struct icnss_uevent_fw_down_data fw_down_data = {0}; enum icnss_pdr_cause_index cause = ICNSS_ROOT_PD_CRASH; + if (!priv) + return; + icnss_pr_dbg("PD service notification: 0x%lx state: 0x%lx\n", state, priv->state); |