linux-yocto/drivers/base
Donet Tom 53683b4d37 drivers/base/node: fix double free in register_one_node()
[ Upstream commit 0efdedfa537eb534c251a5b4794caaf72cc55869 ]

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.

Link: https://lkml.kernel.org/r/20250918054144.58980-1-donettom@linux.ibm.com
Fixes: 786eb990cfb7 ("drivers/base/node: handle error properly in register_one_node()")
Signed-off-by: Donet Tom <donettom@linux.ibm.com>
Acked-by: David Hildenbrand <david@redhat.com>
Acked-by: Oscar Salvador <osalvador@suse.de>
Cc: Alison Schofield <alison.schofield@intel.com>
Cc: Chris Mason <clm@meta.com>
Cc: Danilo Krummrich <dakr@kernel.org>
Cc: Dave Jiang <dave.jiang@intel.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Hiroyouki Kamezawa <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Joanthan Cameron <Jonathan.Cameron@huawei.com>
Cc: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com>
Cc: Yury Norov (NVIDIA) <yury.norov@gmail.com>
Cc: Zi Yan <ziy@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-10-15 11:58:06 +02:00
..
firmware_loader firmware_loader: Fix possible resource leak in fw_log_firmware_info() 2024-12-09 10:32:37 +01:00
power PM: sleep: core: Clear power.must_resume in noirq suspend error path 2025-10-15 11:57:51 +02:00
regmap regmap: Remove superfluous check for !config in __regmap_init() 2025-10-15 11:57:49 +02:00
test
arch_numa.c
arch_topology.c topology: Set capacity_freq_ref in all cases 2025-08-28 16:28:42 +02:00
attribute_container.c
auxiliary.c
base.h driver core: fix potential NULL pointer dereference in dev_uevent() 2025-05-02 07:51:03 +02:00
bus.c driver core: fix potential NULL pointer dereference in dev_uevent() 2025-05-02 07:51:03 +02:00
cacheinfo.c cacheinfo: Allocate memory during CPU hotplug if not done from the primary CPU 2024-12-14 19:59:55 +01:00
class.c driver core: class: Fix wild pointer dereferences in API class_dev_iter_next() 2025-02-08 09:52:27 +01:00
component.c
container.c
core.c driver core: fix potential NULL pointer dereference in dev_uevent() 2025-05-02 07:51:03 +02:00
cpu.c x86/vmscape: Enable the mitigation 2025-09-11 17:20:27 +02:00
dd.c driver core: introduce device_set_driver() helper 2025-05-02 07:51:03 +02:00
devcoredump.c
devres.c drivers: base: devres: Allow to release group on device release 2025-04-25 10:45:18 +02:00
devtmpfs.c
driver.c
firmware.c
hypervisor.c
init.c
isa.c
Kconfig
Makefile
map.c
memory.c
module.c drivers: base: handle module_kobject creation 2025-05-09 09:44:07 +02:00
node.c drivers/base/node: fix double free in register_one_node() 2025-10-15 11:58:06 +02:00
physical_location.c
physical_location.h
pinctrl.c
platform-msi.c
platform.c
property.c
soc.c
swnode.c software node: Correct a OOB check in software_node_get_reference_args() 2025-06-27 11:08:56 +01:00
syscore.c
topology.c topology: Keep the cpumask unchanged when printing cpumap 2025-01-17 13:36:20 +01:00
trace.c
trace.h
transport_class.c