[PATCH] parisc: kernel: replace kfree() with put_device() in create_tree_node()

Haoxiang Li posted 1 patch 1 month, 3 weeks ago
arch/parisc/kernel/drivers.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] parisc: kernel: replace kfree() with put_device() in create_tree_node()
Posted by Haoxiang Li 1 month, 3 weeks ago
If device_register() fails, put_device() is the correct way to
drop the device reference.

Found by code review.

Fixes: 1070c9655b90 ("[PA-RISC] Fix must_check warnings in drivers.c")
Cc: stable@vger.kernel.org
Signed-off-by: Haoxiang Li <lihaoxiang@isrc.iscas.ac.cn>
---
 arch/parisc/kernel/drivers.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/parisc/kernel/drivers.c b/arch/parisc/kernel/drivers.c
index 8d23fe42b0ce..809e3c171ad5 100644
--- a/arch/parisc/kernel/drivers.c
+++ b/arch/parisc/kernel/drivers.c
@@ -435,7 +435,7 @@ static struct parisc_device * __init create_tree_node(char id,
 	dev->dev.dma_mask = &dev->dma_mask;
 	dev->dev.coherent_dma_mask = dev->dma_mask;
 	if (device_register(&dev->dev)) {
-		kfree(dev);
+		put_device(&dev->dev);
 		return NULL;
 	}
 
-- 
2.25.1
Re: [PATCH] parisc: kernel: replace kfree() with put_device() in create_tree_node()
Posted by Helge Deller 1 month, 3 weeks ago
On 12/19/25 14:19, Haoxiang Li wrote:
> If device_register() fails, put_device() is the correct way to
> drop the device reference.
> 
> Found by code review.
> 
> Fixes: 1070c9655b90 ("[PA-RISC] Fix must_check warnings in drivers.c")
> Cc: stable@vger.kernel.org
> Signed-off-by: Haoxiang Li <lihaoxiang@isrc.iscas.ac.cn>
> ---
>   arch/parisc/kernel/drivers.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)

applied to parisc git tree.

Thanks!
Helge