From: Souptick Joarder <jrdr.linux@gmail.com>
To: linux-wireless@vger.kernel.org
Cc: sahu.rameshwar73@gmail.com
Subject: [PATCH] [wl18xx] Fix memory leakage if kzalloc fails
Date: Wed, 5 Oct 2016 17:20:13 +0530 [thread overview]
Message-ID: <20161005115013.GA22099@symbol-HP-ZBook-15> (raw)
This patch is added to properly handle memory leak if kzalloc fails
in wl18xx_scan_send() and wl18xx_scan_sched_scan_config()
Signed-off-by: Souptick Joarder <jrdr.linux@gmail.com>
Signed-off-by: Rameshwar Sahu <sahu.rameshwar73@gmail.com>
---
drivers/net/wireless/ti/wl18xx/scan.c | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/drivers/net/wireless/ti/wl18xx/scan.c b/drivers/net/wireless/ti/wl18xx/scan.c
index 4e522154..aed22e1 100644
--- a/drivers/net/wireless/ti/wl18xx/scan.c
+++ b/drivers/net/wireless/ti/wl18xx/scan.c
@@ -41,14 +41,13 @@ static void wl18xx_adjust_channels(struct wl18xx_cmd_scan_params *cmd,
static int wl18xx_scan_send(struct wl1271 *wl, struct wl12xx_vif *wlvif,
struct cfg80211_scan_request *req)
{
- struct wl18xx_cmd_scan_params *cmd;
+ struct wl18xx_cmd_scan_params *cmd = NULL;
struct wlcore_scan_channels *cmd_channels = NULL;
int ret;
cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
if (!cmd) {
- ret = -ENOMEM;
- goto out;
+ return -ENOMEM;
}
/* scan on the dev role if the regular one is not started */
@@ -59,7 +58,7 @@ static int wl18xx_scan_send(struct wl1271 *wl, struct wl12xx_vif *wlvif,
if (WARN_ON(cmd->role_id == WL12XX_INVALID_ROLE_ID)) {
ret = -EINVAL;
- goto out;
+ goto err_cmd_free;
}
cmd->scan_type = SCAN_TYPE_SEARCH;
@@ -84,7 +83,7 @@ static int wl18xx_scan_send(struct wl1271 *wl, struct wl12xx_vif *wlvif,
cmd_channels = kzalloc(sizeof(*cmd_channels), GFP_KERNEL);
if (!cmd_channels) {
ret = -ENOMEM;
- goto out;
+ goto err_cmd_free;
}
wlcore_set_scan_chan_params(wl, cmd_channels, req->channels,
@@ -153,6 +152,7 @@ static int wl18xx_scan_send(struct wl1271 *wl, struct wl12xx_vif *wlvif,
out:
kfree(cmd_channels);
+err_cmd_free:
kfree(cmd);
return ret;
}
@@ -171,7 +171,7 @@ int wl18xx_scan_sched_scan_config(struct wl1271 *wl,
struct cfg80211_sched_scan_request *req,
struct ieee80211_scan_ies *ies)
{
- struct wl18xx_cmd_scan_params *cmd;
+ struct wl18xx_cmd_scan_params *cmd = NULL;
struct wlcore_scan_channels *cmd_channels = NULL;
struct conf_sched_scan_settings *c = &wl->conf.sched_scan;
int ret;
@@ -185,15 +185,14 @@ int wl18xx_scan_sched_scan_config(struct wl1271 *wl,
cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
if (!cmd) {
- ret = -ENOMEM;
- goto out;
+ return -ENOMEM;
}
cmd->role_id = wlvif->role_id;
if (WARN_ON(cmd->role_id == WL12XX_INVALID_ROLE_ID)) {
ret = -EINVAL;
- goto out;
+ goto err_cmd_free;
}
cmd->scan_type = SCAN_TYPE_PERIODIC;
@@ -218,7 +217,7 @@ int wl18xx_scan_sched_scan_config(struct wl1271 *wl,
cmd_channels = kzalloc(sizeof(*cmd_channels), GFP_KERNEL);
if (!cmd_channels) {
ret = -ENOMEM;
- goto out;
+ goto err_cmd_free;
}
/* configure channels */
@@ -296,6 +295,7 @@ int wl18xx_scan_sched_scan_config(struct wl1271 *wl,
out:
kfree(cmd_channels);
+err_cmd_free:
kfree(cmd);
return ret;
}
--
1.9.1
next reply other threads:[~2016-10-05 11:50 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-05 11:50 Souptick Joarder [this message]
2016-10-06 9:35 ` [PATCH] [wl18xx] Fix memory leakage if kzalloc fails Julian Calaby
2016-10-06 18:51 ` Souptick Joarder
2016-10-07 4:50 ` Kalle Valo
-- strict thread matches above, loose matches on Subject: below --
2016-10-05 13:09 Souptick Joarder
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161005115013.GA22099@symbol-HP-ZBook-15 \
--to=jrdr.linux@gmail.com \
--cc=linux-wireless@vger.kernel.org \
--cc=sahu.rameshwar73@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox