Re: [PATCH] drivers/base/node: Fix double free in register_one_node()

From: Oscar Salvador

Date: Thu Sep 18 2025 - 09:29:59 EST


On Thu, Sep 18, 2025 at 11:11:44AM +0530, Donet Tom wrote:
> When device_register() fails in register_node(), it calls
> put_device(&node->dev). This triggers node_device_release(),
> which calls kfree(to_node(dev)), thereby freeing the entire
> node structure.
>
> As a result, when register_node() returns an error, the node
> memory has already been freed. Calling kfree(node) again in
> register_one_node() leads to a double free.
>
> This patch removes the redundant kfree(node) from
> register_one_node() to prevent the double free.
>
> Fixes: 786eb990cfb7 ("drivers/base/node: handle error properly in register_one_node()")
> Signed-off-by: Donet Tom <donettom@xxxxxxxxxxxxx>

Acked-by: Oscar Salvador <osalvador@xxxxxxx>



--
Oscar Salvador
SUSE Labs