Re: [Resend][PATCH] drivers/thermal: fix potential memleak in error branch

2020-11-12 Thread Daniel Lezcano
On 10/11/2020 09:10, Bernard wrote:
> Function __thermal_cooling_device_register, when device_register
> failed, cdev is not free after error value return, this may
> bring in potential memleak.
> 
> Signed-off-by: Bernard Zhao 
> ---
>  drivers/thermal/thermal_core.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
> index 3d1e0033bf3e..e4bee15dfa1f 100644
> --- a/drivers/thermal/thermal_core.c
> +++ b/drivers/thermal/thermal_core.c
> @@ -1125,6 +1125,7 @@ __thermal_cooling_device_register(struct device_node 
> *np,
>   if (result) {
>   ida_simple_remove(_cdev_ida, cdev->id);
>   put_device(>device);
> + kfree(cdev);
>   return ERR_PTR(result);
>   }

Please fix the function with the proper error path and the labels.

Thanks

  -- Daniel


-- 
 Linaro.org │ Open source software for ARM SoCs

Follow Linaro:   Facebook |
 Twitter |
 Blog


[Resend][PATCH] drivers/thermal: fix potential memleak in error branch

2020-11-10 Thread Bernard
Function __thermal_cooling_device_register, when device_register
failed, cdev is not free after error value return, this may
bring in potential memleak.

Signed-off-by: Bernard Zhao 
---
 drivers/thermal/thermal_core.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
index 3d1e0033bf3e..e4bee15dfa1f 100644
--- a/drivers/thermal/thermal_core.c
+++ b/drivers/thermal/thermal_core.c
@@ -1125,6 +1125,7 @@ __thermal_cooling_device_register(struct device_node *np,
if (result) {
ida_simple_remove(_cdev_ida, cdev->id);
put_device(>device);
+   kfree(cdev);
return ERR_PTR(result);
}
 
-- 
2.29.0





[PATCH] drivers/thermal: fix potential memleak in error branch

2020-11-01 Thread Bernard Zhao
Function __thermal_cooling_device_register, when device_register
failed, cdev is not free after error value return, this may
bring in potential memleak.

Signed-off-by: Bernard Zhao 
---
 drivers/thermal/thermal_core.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
index 3d1e0033bf3e..e4bee15dfa1f 100644
--- a/drivers/thermal/thermal_core.c
+++ b/drivers/thermal/thermal_core.c
@@ -1125,6 +1125,7 @@ __thermal_cooling_device_register(struct device_node *np,
if (result) {
ida_simple_remove(_cdev_ida, cdev->id);
put_device(>device);
+   kfree(cdev);
return ERR_PTR(result);
}
 
-- 
2.29.0