Thread (94 messages) 94 messages, 12 authors, 2022-01-05

Re: [PATCH 5.10 48/76] platform/x86: intel_pmc_core: fix memleak on registration failure

From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2021-12-31 10:18:44
Also in: lkml

On Fri, Dec 31, 2021 at 11:04:05AM +0100, Pavel Machek wrote:
Hi!

On Mon 2021-12-27 16:31:03, Greg Kroah-Hartman wrote:
quoted
From: Johan Hovold <johan@kernel.org>

commit 26a8b09437804fabfb1db080d676b96c0de68e7c upstream.

In case device registration fails during module initialisation, the
platform device structure needs to be freed using platform_device_put()
to properly free all resources (e.g. the device name).
Does it? What exactly was leaking here?
quoted
+++ b/drivers/platform/x86/intel_pmc_core_pltdrv.c
@@ -65,7 +65,7 @@ static int __init pmc_core_platform_init
 
 	retval = platform_device_register(pmc_core_device);
 	if (retval)
-		kfree(pmc_core_device);
+		platform_device_put(pmc_core_device);
 
This is strange. Failing registration should have no effects that need
to be undone.
Sadly, that is not how the driver model has ever worked for various
reasons.

greg k-h
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help