[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <fe8bdea9-4bd2-4200-8b7c-3c231dc6dcb2@foss.st.com>
Date: Fri, 9 Jan 2026 11:37:55 +0100
From: Gatien CHEVALLIER <gatien.chevallier@...s.st.com>
To: Krzysztof Kozlowski <krzysztof.kozlowski@....qualcomm.com>,
"Bjorn
Andersson" <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>,
Maxime Coquelin <mcoquelin.stm32@...il.com>,
Alexandre Torgue
<alexandre.torgue@...s.st.com>,
<linux-arm-msm@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-stm32@...md-mailman.stormreply.com>,
<linux-arm-kernel@...ts.infradead.org>
CC: Jonathan Cameron <jonathan.cameron@...wei.com>
Subject: Re: [PATCH v2 3/3] bus: stm32_firewall: Use scoped allocation to
simplify cleanup
On 1/5/26 15:37, Krzysztof Kozlowski wrote:
> Allocate the memory with scoped/cleanup.h to reduce error handling and
> make the code a bit simpler.
>
> Suggested-by: Jonathan Cameron <jonathan.cameron@...wei.com>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@....qualcomm.com>
>
> ---
>
> Changes in v2:
> 1. New patch
> ---
> drivers/bus/stm32_firewall.c | 10 +++-------
> 1 file changed, 3 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/bus/stm32_firewall.c b/drivers/bus/stm32_firewall.c
> index fae881cea9a0..92414a4c7bb1 100644
> --- a/drivers/bus/stm32_firewall.c
> +++ b/drivers/bus/stm32_firewall.c
> @@ -240,7 +240,6 @@ EXPORT_SYMBOL_GPL(stm32_firewall_controller_unregister);
>
> int stm32_firewall_populate_bus(struct stm32_firewall_controller *firewall_controller)
> {
> - struct stm32_firewall *firewalls;
> struct device *parent;
> unsigned int i;
> int len;
> @@ -257,15 +256,14 @@ int stm32_firewall_populate_bus(struct stm32_firewall_controller *firewall_contr
> if (len <= 0)
> return -EINVAL;
>
> - firewalls = kcalloc(len, sizeof(*firewalls), GFP_KERNEL);
> + struct stm32_firewall *firewalls __free(kfree) =
> + kcalloc(len, sizeof(*firewalls), GFP_KERNEL);
Hello,
I'd prefer to keep declarations separated.
Otherwise:
Tested-by: Gatien Chevallier <gatien.chevallier@...s.st.com>
Thank you,
Gatien
> if (!firewalls)
> return -ENOMEM;
>
> err = stm32_firewall_get_firewall(child, firewalls, (unsigned int)len);
> - if (err) {
> - kfree(firewalls);
> + if (err)
> return err;
> - }
>
> for (i = 0; i < len; i++) {
> if (firewall_controller->grant_access(firewall_controller,
> @@ -279,8 +277,6 @@ int stm32_firewall_populate_bus(struct stm32_firewall_controller *firewall_contr
> child->full_name);
> }
> }
> -
> - kfree(firewalls);
> }
>
> return 0;
Powered by blists - more mailing lists