Re: [PATCH 1/5] media: i2c: max9286: Put of node on error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Kieran,

On Wed, Mar 18, 2020 at 09:32:45AM +0000, Kieran Bingham wrote:
> Hi Jacopo
>
> On 16/03/2020 20:27, Jacopo Mondi wrote:
> > Put the device of node in case of dt parsing error.
> >
>
> Ooops, it does look like this probably leaks - but isn't it also leaking
> in other code paths in this function too?

I checked and got confused by the very last
        of_node_put(node);

which should be coupled with and additional
        of_node_put(dev->of_node);

I don't see any additional leak, am I mistaken ?

>
> If we fix here, we should fix all leaks of this usage. (and perhaps
> identify if there are leaks of other refcnts too ;-S )
>
>
> > Fixes: 9eed4185c7a0 ("media: i2c: Add MAX9286 driver")
> > Signed-off-by: Jacopo Mondi <jacopo+renesas@xxxxxxxxxx>
> > ---
> >  drivers/media/i2c/max9286.c | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/media/i2c/max9286.c b/drivers/media/i2c/max9286.c
> > index a20829297ef6..06edd8bd3e82 100644
> > --- a/drivers/media/i2c/max9286.c
> > +++ b/drivers/media/i2c/max9286.c
> > @@ -1046,6 +1046,7 @@ static int max9286_parse_dt(struct max9286_priv *priv)
> >  	i2c_mux = of_find_node_by_name(dev->of_node, "i2c-mux");
> >  	if (!i2c_mux) {
> >  		dev_err(dev, "Failed to find i2c-mux node\n");
> > +		of_node_put(dev->of_node);
> >  		return -EINVAL;
> >  	}
> >
> >
>



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux