[PATCH -next] viper_tpm_init(): fix memleak on registration failure

Lin Yujun linyujun809 at huawei.com
Tue Sep 13 20:16:24 PDT 2022


In case device registration fails, the platform device
structure needs to be free. Use platform_device_put()
to free all resources instead of using kfree to release
the platform device.

Fixes: 352699a3d7cc ("Basic support for the Arcom/Eurotech Viper SBC.")
Signed-off-by: Lin Yujun <linyujun809 at huawei.com>
---
 arch/arm/mach-pxa/viper.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-pxa/viper.c b/arch/arm/mach-pxa/viper.c
index 5b43351ee840..44b2c54fb2c7 100644
--- a/arch/arm/mach-pxa/viper.c
+++ b/arch/arm/mach-pxa/viper.c
@@ -829,7 +829,7 @@ static void __init viper_tpm_init(void)
 	return;
 
 error_free_tpm:
-	kfree(tpm_device);
+	platform_device_put(tpm_device);
 error_tpm:
 	pr_err("viper: Couldn't %s, giving up\n", errstr);
 }
-- 
2.17.1




More information about the linux-arm-kernel mailing list