lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 13 May 2020 20:55:20 -0700
From:   Wang Wenhu <wenhu.wang@...o.com>
To:     Alex Elder <elder@...nel.org>,
        "David S. Miller" <davem@...emloft.net>, netdev@...r.kernel.org,
        linux-kernel@...r.kernel.org
Cc:     kernel@...o.com, Wang Wenhu <wenhu.wang@...o.com>
Subject: [PATCH] drivers: ipa: use devm_kzalloc for simplicity

Make a substitution of kzalloc with devm_kzalloc to simplify the
ipa_probe() process.

Signed-off-by: Wang Wenhu <wenhu.wang@...o.com>
Cc: Alex Elder <elder@...nel.org>
---
 drivers/net/ipa/ipa_clock.c | 7 ++-----
 drivers/net/ipa/ipa_main.c  | 7 ++-----
 2 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/drivers/net/ipa/ipa_clock.c b/drivers/net/ipa/ipa_clock.c
index 374491ea11cf..ddbd687fe64b 100644
--- a/drivers/net/ipa/ipa_clock.c
+++ b/drivers/net/ipa/ipa_clock.c
@@ -276,7 +276,7 @@ struct ipa_clock *ipa_clock_init(struct device *dev)
 		goto err_clk_put;
 	}
 
-	clock = kzalloc(sizeof(*clock), GFP_KERNEL);
+	clock = devm_kzalloc(dev, sizeof(*clock), GFP_KERNEL);
 	if (!clock) {
 		ret = -ENOMEM;
 		goto err_clk_put;
@@ -285,15 +285,13 @@ struct ipa_clock *ipa_clock_init(struct device *dev)
 
 	ret = ipa_interconnect_init(clock, dev);
 	if (ret)
-		goto err_kfree;
+		goto err_clk_put;
 
 	mutex_init(&clock->mutex);
 	atomic_set(&clock->count, 0);
 
 	return clock;
 
-err_kfree:
-	kfree(clock);
 err_clk_put:
 	clk_put(clk);
 
@@ -308,6 +306,5 @@ void ipa_clock_exit(struct ipa_clock *clock)
 	WARN_ON(atomic_read(&clock->count) != 0);
 	mutex_destroy(&clock->mutex);
 	ipa_interconnect_exit(clock);
-	kfree(clock);
 	clk_put(clk);
 }
diff --git a/drivers/net/ipa/ipa_main.c b/drivers/net/ipa/ipa_main.c
index 28998dcce3d2..b7b348b863f7 100644
--- a/drivers/net/ipa/ipa_main.c
+++ b/drivers/net/ipa/ipa_main.c
@@ -760,7 +760,7 @@ static int ipa_probe(struct platform_device *pdev)
 	}
 
 	/* Allocate and initialize the IPA structure */
-	ipa = kzalloc(sizeof(*ipa), GFP_KERNEL);
+	ipa = devm_kzalloc(dev, sizeof(*ipa), GFP_KERNEL);
 	if (!ipa) {
 		ret = -ENOMEM;
 		goto err_wakeup_source_unregister;
@@ -776,7 +776,7 @@ static int ipa_probe(struct platform_device *pdev)
 
 	ret = ipa_reg_init(ipa);
 	if (ret)
-		goto err_kfree_ipa;
+		goto err_wakeup_source_unregister;
 
 	ret = ipa_mem_init(ipa, data->mem_count, data->mem_data);
 	if (ret)
@@ -848,8 +848,6 @@ static int ipa_probe(struct platform_device *pdev)
 	ipa_mem_exit(ipa);
 err_reg_exit:
 	ipa_reg_exit(ipa);
-err_kfree_ipa:
-	kfree(ipa);
 err_wakeup_source_unregister:
 	wakeup_source_unregister(wakeup_source);
 err_clock_exit:
@@ -885,7 +883,6 @@ static int ipa_remove(struct platform_device *pdev)
 	gsi_exit(&ipa->gsi);
 	ipa_mem_exit(ipa);
 	ipa_reg_exit(ipa);
-	kfree(ipa);
 	wakeup_source_unregister(wakeup_source);
 	ipa_clock_exit(clock);
 	rproc_put(rproc);
-- 
2.17.1

Powered by blists - more mailing lists