Message ID | 20220516073151.25918-1-linmq006@gmail.com |
---|---|
State | New |
Headers | show |
Series | thermal: imx_sc_thermal: Fix refcount leak in imx_sc_thermal_probe | expand |
On 16/05/2022 09:31, Miaoqian Lin wrote: > of_find_node_by_name() returns a node pointer with refcount > incremented, we should use of_node_put() on it when done. > Add missing of_node_put() to avoid refcount leak. > > Fixes: e20db70dba1c ("thermal: imx_sc: add i.MX system controller thermal support") > Signed-off-by: Miaoqian Lin <linmq006@gmail.com> > --- > drivers/thermal/imx_sc_thermal.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/thermal/imx_sc_thermal.c b/drivers/thermal/imx_sc_thermal.c > index 8d76dbfde6a9..1ab854c228e5 100644 > --- a/drivers/thermal/imx_sc_thermal.c > +++ b/drivers/thermal/imx_sc_thermal.c > @@ -95,6 +95,7 @@ static int imx_sc_thermal_probe(struct platform_device *pdev) > if (!sensor) { > of_node_put(child); > of_node_put(sensor_np); > + of_node_put(np); > return -ENOMEM; > } Please use goto statement > @@ -125,6 +126,7 @@ static int imx_sc_thermal_probe(struct platform_device *pdev) > } > > of_node_put(sensor_np); > + of_node_put(np); > > return ret; > }
diff --git a/drivers/thermal/imx_sc_thermal.c b/drivers/thermal/imx_sc_thermal.c index 8d76dbfde6a9..1ab854c228e5 100644 --- a/drivers/thermal/imx_sc_thermal.c +++ b/drivers/thermal/imx_sc_thermal.c @@ -95,6 +95,7 @@ static int imx_sc_thermal_probe(struct platform_device *pdev) if (!sensor) { of_node_put(child); of_node_put(sensor_np); + of_node_put(np); return -ENOMEM; } @@ -125,6 +126,7 @@ static int imx_sc_thermal_probe(struct platform_device *pdev) } of_node_put(sensor_np); + of_node_put(np); return ret; }
of_find_node_by_name() returns a node pointer with refcount incremented, we should use of_node_put() on it when done. Add missing of_node_put() to avoid refcount leak. Fixes: e20db70dba1c ("thermal: imx_sc: add i.MX system controller thermal support") Signed-off-by: Miaoqian Lin <linmq006@gmail.com> --- drivers/thermal/imx_sc_thermal.c | 2 ++ 1 file changed, 2 insertions(+)