[PATCH v2 3/3] bus: stm32_firewall: Use scoped allocation to simplify cleanup
Gatien CHEVALLIER
gatien.chevallier at foss.st.com
Fri Jan 9 02:37:55 PST 2026
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 at huawei.com>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski at oss.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 at foss.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;
More information about the linux-arm-kernel
mailing list