All of lore.kernel.org
 help / color / mirror / Atom feed
From: Liviu Dudau <liviu.dudau@arm.com>
To: Weigang He <geoffreyhe2@gmail.com>
Cc: Sudeep Holla <sudeep.holla@kernel.org>,
	Lorenzo Pieralisi <lpieralisi@kernel.org>,
	Linus Walleij <linusw@kernel.org>,
	Russell King <linux@armlinux.org.uk>, Lee Jones <lee@kernel.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] ARM: vexpress: fix device_node refcount leak in vexpress_smp_dt_prepare_cpus()
Date: Wed, 30 Sep 2026 21:50:51 +0100	[thread overview]
Message-ID: <ar12K0NGkuO9_XK_@e142607> (raw)
In-Reply-To: <20260925173252.933705-3-geoffreyhe2@gmail.com>

On Sat, Sep 26, 2026 at 03:32:52AM +1000, Weigang He wrote:
> vexpress_smp_dt_prepare_cpus() obtains a reference to the SCU device
> node via of_find_matching_node() and passes it to of_iomap(), but never
> calls of_node_put() on it. of_iomap() does not take ownership of the
> node, so the reference is leaked. The function is the .smp_prepare_cpus
> hook invoked once from the __init SMP bring-up path, so this is a
> one-shot leak of a single refcount during boot, with no functional
> impact.
> 
> Annotate scu with the __free(device_node) cleanup attribute so the
> reference is released when the function returns.
> 
> Found while reviewing a CodeQL report for vexpress_flags_set() on the
> same SMP bring-up path.
> 
> Fixes: d2606f81d563 ("ARM: vexpress: Simplify SMP operations for DT-powered system")
> Assisted-by: LLM codeql
> Signed-off-by: Weigang He <geoffreyhe2@gmail.com>

Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>

Best regards,
Liviu

> ---
> 
> Notes:
>     Compile-tested only (ARCH=arm multi_v7_defconfig, W=1). Not tested on
>     hardware; I have no Versatile Express board.
>     
>     The CodeQL query behind this report was synthesized with LLM assistance,
>     and the fix and changelog were drafted with LLM assistance; I have
>     reviewed them.
> 
>  arch/arm/mach-versatile/platsmp-vexpress.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/mach-versatile/platsmp-vexpress.c b/arch/arm/mach-versatile/platsmp-vexpress.c
> index 1ee3c45e71c99..b810ad50b98ce 100644
> --- a/arch/arm/mach-versatile/platsmp-vexpress.c
> +++ b/arch/arm/mach-versatile/platsmp-vexpress.c
> @@ -61,8 +61,8 @@ static const struct of_device_id vexpress_smp_dt_scu_match[] __initconst = {
>  
>  static void __init vexpress_smp_dt_prepare_cpus(unsigned int max_cpus)
>  {
> -	struct device_node *scu = of_find_matching_node(NULL,
> -			vexpress_smp_dt_scu_match);
> +	struct device_node *scu __free(device_node) =
> +		of_find_matching_node(NULL, vexpress_smp_dt_scu_match);
>  
>  	if (scu)
>  		scu_enable(of_iomap(scu, 0));
> -- 
> 2.43.0
> 

-- 
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
 \ source code!  /
  ---------------
    ¯\_(ツ)_/¯


  reply	other threads:[~2026-09-30 20:51 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-25 17:32 [PATCH 0/2] ARM: vexpress: fix two device_node refcount leaks Weigang He
2026-09-25 17:32 ` [PATCH 1/2] ARM: vexpress: fix device_node refcount leak in vexpress_flags_set() Weigang He
2026-09-30 20:48   ` Liviu Dudau
2026-09-25 17:32 ` [PATCH 2/2] ARM: vexpress: fix device_node refcount leak in vexpress_smp_dt_prepare_cpus() Weigang He
2026-09-30 20:50   ` Liviu Dudau [this message]
2026-10-07 14:30 ` [PATCH 0/2] ARM: vexpress: fix two device_node refcount leaks Sudeep Holla

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=ar12K0NGkuO9_XK_@e142607 \
    --to=liviu.dudau@arm.com \
    --cc=geoffreyhe2@gmail.com \
    --cc=lee@kernel.org \
    --cc=linusw@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=lpieralisi@kernel.org \
    --cc=sudeep.holla@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.