Message ID | AOUAJQBgDcHjy8iGeDq3e4rT.1.1604995817639.Hmail.bernard@vivo.com |
---|---|
State | New |
Headers | show |
Series | [Resend] drivers/thermal: fix potential memleak in error branch | expand |
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 <bernard@vivo.com> > --- > 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(&thermal_cdev_ida, cdev->id); > put_device(&cdev->device); > + kfree(cdev); > return ERR_PTR(result); > } Please fix the function with the proper error path and the labels. Thanks -- Daniel -- <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog
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(&thermal_cdev_ida, cdev->id); put_device(&cdev->device); + kfree(cdev); return ERR_PTR(result); }
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 <bernard@vivo.com> --- drivers/thermal/thermal_core.c | 1 + 1 file changed, 1 insertion(+)