[PATCH -next] drm/logicvc: add missing of_node_put() in logicvc_layers_init()

Yang Yingliang posted 1 patch 3 years, 10 months ago
drivers/gpu/drm/logicvc/logicvc_layer.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
[PATCH -next] drm/logicvc: add missing of_node_put() in logicvc_layers_init()
Posted by Yang Yingliang 3 years, 10 months ago
The of_node_put() need be called in error path in logicvc_layers_init().

Fixes: efeeaefe9be5 ("drm: Add support for the LogiCVC display controller")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
---
 drivers/gpu/drm/logicvc/logicvc_layer.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/logicvc/logicvc_layer.c b/drivers/gpu/drm/logicvc/logicvc_layer.c
index bae1c7f99569..00a37563a6dc 100644
--- a/drivers/gpu/drm/logicvc/logicvc_layer.c
+++ b/drivers/gpu/drm/logicvc/logicvc_layer.c
@@ -610,8 +610,11 @@ int logicvc_layers_init(struct logicvc_drm *logicvc)
 		}
 
 		ret = logicvc_layer_init(logicvc, layer_node, index);
-		if (ret)
+		if (ret) {
+			of_node_put(layer_node);
+			of_node_put(layers_node);
 			goto error;
+		}
 
 		of_node_put(layer_node);
 	}
-- 
2.25.1
Re: [PATCH -next] drm/logicvc: add missing of_node_put() in logicvc_layers_init()
Posted by Paul Kocialkowski 3 years, 10 months ago
Hi Yang,

On Tue 14 Jun 22, 19:21, Yang Yingliang wrote:
> The of_node_put() need be called in error path in logicvc_layers_init().
> 
> Fixes: efeeaefe9be5 ("drm: Add support for the LogiCVC display controller")
> Reported-by: Hulk Robot <hulkci@huawei.com>
> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>

Thanks for the fix!

Acked-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>

Cheers,

Paul

> ---
>  drivers/gpu/drm/logicvc/logicvc_layer.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/logicvc/logicvc_layer.c b/drivers/gpu/drm/logicvc/logicvc_layer.c
> index bae1c7f99569..00a37563a6dc 100644
> --- a/drivers/gpu/drm/logicvc/logicvc_layer.c
> +++ b/drivers/gpu/drm/logicvc/logicvc_layer.c
> @@ -610,8 +610,11 @@ int logicvc_layers_init(struct logicvc_drm *logicvc)
>  		}
>  
>  		ret = logicvc_layer_init(logicvc, layer_node, index);
> -		if (ret)
> +		if (ret) {
> +			of_node_put(layer_node);
> +			of_node_put(layers_node);
>  			goto error;
> +		}
>  
>  		of_node_put(layer_node);
>  	}
> -- 
> 2.25.1
> 

-- 
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com
Re: [PATCH -next] drm/logicvc: add missing of_node_put() in logicvc_layers_init()
Posted by Paul Kocialkowski 3 years, 10 months ago
Hi,

On Fri 24 Jun 22, 16:36, Paul Kocialkowski wrote:
> Hi Yang,
> 
> On Tue 14 Jun 22, 19:21, Yang Yingliang wrote:
> > The of_node_put() need be called in error path in logicvc_layers_init().
> > 
> > Fixes: efeeaefe9be5 ("drm: Add support for the LogiCVC display controller")
> > Reported-by: Hulk Robot <hulkci@huawei.com>
> > Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
> 
> Thanks for the fix!
> 
> Acked-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>

Adapted this after Julia's patch: Only the put on layers_node is required
on error condition.

Pushed to drm-misc-next, thanks!

Paul

> > ---
> >  drivers/gpu/drm/logicvc/logicvc_layer.c | 5 ++++-
> >  1 file changed, 4 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/logicvc/logicvc_layer.c b/drivers/gpu/drm/logicvc/logicvc_layer.c
> > index bae1c7f99569..00a37563a6dc 100644
> > --- a/drivers/gpu/drm/logicvc/logicvc_layer.c
> > +++ b/drivers/gpu/drm/logicvc/logicvc_layer.c
> > @@ -610,8 +610,11 @@ int logicvc_layers_init(struct logicvc_drm *logicvc)
> >  		}
> >  
> >  		ret = logicvc_layer_init(logicvc, layer_node, index);
> > -		if (ret)
> > +		if (ret) {
> > +			of_node_put(layer_node);
> > +			of_node_put(layers_node);
> >  			goto error;
> > +		}
> >  
> >  		of_node_put(layer_node);
> >  	}
> > -- 
> > 2.25.1
> > 
> 
> -- 
> Paul Kocialkowski, Bootlin
> Embedded Linux and kernel engineering
> https://bootlin.com



-- 
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com