[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <e6aad100-d338-4c51-9fa4-7a2415042b49@kernel.org>
Date: Wed, 5 Nov 2025 07:40:03 +0100
From: Krzysztof Kozlowski <krzk@...nel.org>
To: Ally Heev <allyheev@...il.com>, Madhavan Srinivasan
<maddy@...ux.ibm.com>, Michael Ellerman <mpe@...erman.id.au>,
Nicholas Piggin <npiggin@...il.com>,
Christophe Leroy <christophe.leroy@...roup.eu>
Cc: linuxppc-dev@...ts.ozlabs.org, linux-kernel@...r.kernel.org,
Dan Carpenter <dan.carpenter@...aro.org>
Subject: Re: [PATCH] powerpc: 82xx: fix uninitialized pointers with free attr
On 04/11/2025 12:28, Ally Heev wrote:
> Uninitialized pointers with `__free` attribute can cause undefined
> behaviour as the memory allocated to the pointer is freed automatically
> when the pointer goes out of scope
>
> powerpc/km82xx doesn't have any bugs related to this as of now, but,
> it is better to initialize and assign pointers with `__free` attribute
> in one statement to ensure proper scope-based cleanup
>
> Reported-by: Dan Carpenter <dan.carpenter@...aro.org>
> Closes: https://lore.kernel.org/all/aPiG_F5EBQUjZqsl@stanley.mountain/
> Signed-off-by: Ally Heev <allyheev@...il.com>
> ---
> Testing:
> Successfully compiled the kernel with `allmodconfig`
> ---
> arch/powerpc/platforms/82xx/km82xx.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/powerpc/platforms/82xx/km82xx.c b/arch/powerpc/platforms/82xx/km82xx.c
> index 99f0f0f4187672614f4f8ad46ab7906f7ad8078b..4ad223525e893c0de15540db2b2c4d239d6d841e 100644
> --- a/arch/powerpc/platforms/82xx/km82xx.c
> +++ b/arch/powerpc/platforms/82xx/km82xx.c
> @@ -27,8 +27,8 @@
>
> static void __init km82xx_pic_init(void)
> {
> - struct device_node *np __free(device_node);
> - np = of_find_compatible_node(NULL, NULL, "fsl,pq2-pic");
> + struct device_node *np __free(device_node) = of_find_compatible_node(NULL,
> + NULL, "fsl,pq2-pic");
>
Original patch was correct:
https://lore.kernel.org/all/20240709143553.117053-1-david.hunter.linux@gmail.com/
It is the maintainer who decided to break it while applying, not
following clear cleanup.h recommendations and not giving a chance to
object to people. :/
So now we have a fixing commit.
Best regards,
Krzysztof
Powered by blists - more mailing lists