Message ID | f41dfe97-6e6c-47b4-91bf-199c5938c6d0@stanley.mountain (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [next] media: xilinx-tpg: fix double put in xtpg_parse_of() | expand |
On Mon, Nov 04, 2024 at 08:16:19PM +0300, Dan Carpenter wrote: > This loop was recently converted to use for_each_of_graph_port() which > automatically does __cleanup__ on the "port" iterator variable. Delete > the calls to of_node_put(port) to avoid a double put bug. > > Fixes: 393194cdf11e ("media: xilinx-tpg: use new of_graph functions") I guess the CI system applies this to the wrong git tree so it says the of_node_put() calls are necessary and it can't find the Fixes commit. regards, dan carpenter
Hi Dan, Thank you for the patch. On Mon, Nov 04, 2024 at 08:16:19PM +0300, Dan Carpenter wrote: > This loop was recently converted to use for_each_of_graph_port() which > automatically does __cleanup__ on the "port" iterator variable. Delete > the calls to of_node_put(port) to avoid a double put bug. > > Fixes: 393194cdf11e ("media: xilinx-tpg: use new of_graph functions") > Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> The offending commit wasn't merged through the media tree, so we can't easily merge the fix there either. I'm fine merging this fix through Rob's tree. > --- > drivers/media/platform/xilinx/xilinx-tpg.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/drivers/media/platform/xilinx/xilinx-tpg.c b/drivers/media/platform/xilinx/xilinx-tpg.c > index cb93711ea3e3..7deec6e37edc 100644 > --- a/drivers/media/platform/xilinx/xilinx-tpg.c > +++ b/drivers/media/platform/xilinx/xilinx-tpg.c > @@ -722,7 +722,6 @@ static int xtpg_parse_of(struct xtpg_device *xtpg) > format = xvip_of_get_format(port); > if (IS_ERR(format)) { > dev_err(dev, "invalid format in DT"); > - of_node_put(port); > return PTR_ERR(format); > } > > @@ -731,7 +730,6 @@ static int xtpg_parse_of(struct xtpg_device *xtpg) > xtpg->vip_format = format; > } else if (xtpg->vip_format != format) { > dev_err(dev, "in/out format mismatch in DT"); > - of_node_put(port); > return -EINVAL; > } >
On 05/11/2024 17:59, Laurent Pinchart wrote: > Hi Dan, > > Thank you for the patch. > > On Mon, Nov 04, 2024 at 08:16:19PM +0300, Dan Carpenter wrote: >> This loop was recently converted to use for_each_of_graph_port() which >> automatically does __cleanup__ on the "port" iterator variable. Delete >> the calls to of_node_put(port) to avoid a double put bug. >> >> Fixes: 393194cdf11e ("media: xilinx-tpg: use new of_graph functions") >> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> > > Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> > > The offending commit wasn't merged through the media tree, so we can't > easily merge the fix there either. I'm fine merging this fix through > Rob's tree. I don't see this patch merged anywhere. Should I just pick it up? I think it got lost in the noise. The commit 393194cdf11e is now available in our media tree, so it should be fine, I think, if I pick it up. It needs a CC to stable as well, right? I can add that. Regards, Hans > >> --- >> drivers/media/platform/xilinx/xilinx-tpg.c | 2 -- >> 1 file changed, 2 deletions(-) >> >> diff --git a/drivers/media/platform/xilinx/xilinx-tpg.c b/drivers/media/platform/xilinx/xilinx-tpg.c >> index cb93711ea3e3..7deec6e37edc 100644 >> --- a/drivers/media/platform/xilinx/xilinx-tpg.c >> +++ b/drivers/media/platform/xilinx/xilinx-tpg.c >> @@ -722,7 +722,6 @@ static int xtpg_parse_of(struct xtpg_device *xtpg) >> format = xvip_of_get_format(port); >> if (IS_ERR(format)) { >> dev_err(dev, "invalid format in DT"); >> - of_node_put(port); >> return PTR_ERR(format); >> } >> >> @@ -731,7 +730,6 @@ static int xtpg_parse_of(struct xtpg_device *xtpg) >> xtpg->vip_format = format; >> } else if (xtpg->vip_format != format) { >> dev_err(dev, "in/out format mismatch in DT"); >> - of_node_put(port); >> return -EINVAL; >> } >> >
Hi Hans, On Mon, Feb 24, 2025 at 09:49:47AM +0100, Hans Verkuil wrote: > On 05/11/2024 17:59, Laurent Pinchart wrote: > > Hi Dan, > > > > Thank you for the patch. > > > > On Mon, Nov 04, 2024 at 08:16:19PM +0300, Dan Carpenter wrote: > >> This loop was recently converted to use for_each_of_graph_port() which > >> automatically does __cleanup__ on the "port" iterator variable. Delete > >> the calls to of_node_put(port) to avoid a double put bug. > >> > >> Fixes: 393194cdf11e ("media: xilinx-tpg: use new of_graph functions") > >> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> > > > > Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> > > > > The offending commit wasn't merged through the media tree, so we can't > > easily merge the fix there either. I'm fine merging this fix through > > Rob's tree. > > I don't see this patch merged anywhere. Should I just pick it up? I think > it got lost in the noise. > > The commit 393194cdf11e is now available in our media tree, so it should > be fine, I think, if I pick it up. It needs a CC to stable as well, right? > I can add that. Yes, I'd CC stable. Thank you for handling it. > >> --- > >> drivers/media/platform/xilinx/xilinx-tpg.c | 2 -- > >> 1 file changed, 2 deletions(-) > >> > >> diff --git a/drivers/media/platform/xilinx/xilinx-tpg.c b/drivers/media/platform/xilinx/xilinx-tpg.c > >> index cb93711ea3e3..7deec6e37edc 100644 > >> --- a/drivers/media/platform/xilinx/xilinx-tpg.c > >> +++ b/drivers/media/platform/xilinx/xilinx-tpg.c > >> @@ -722,7 +722,6 @@ static int xtpg_parse_of(struct xtpg_device *xtpg) > >> format = xvip_of_get_format(port); > >> if (IS_ERR(format)) { > >> dev_err(dev, "invalid format in DT"); > >> - of_node_put(port); > >> return PTR_ERR(format); > >> } > >> > >> @@ -731,7 +730,6 @@ static int xtpg_parse_of(struct xtpg_device *xtpg) > >> xtpg->vip_format = format; > >> } else if (xtpg->vip_format != format) { > >> dev_err(dev, "in/out format mismatch in DT"); > >> - of_node_put(port); > >> return -EINVAL; > >> } > >>
diff --git a/drivers/media/platform/xilinx/xilinx-tpg.c b/drivers/media/platform/xilinx/xilinx-tpg.c index cb93711ea3e3..7deec6e37edc 100644 --- a/drivers/media/platform/xilinx/xilinx-tpg.c +++ b/drivers/media/platform/xilinx/xilinx-tpg.c @@ -722,7 +722,6 @@ static int xtpg_parse_of(struct xtpg_device *xtpg) format = xvip_of_get_format(port); if (IS_ERR(format)) { dev_err(dev, "invalid format in DT"); - of_node_put(port); return PTR_ERR(format); } @@ -731,7 +730,6 @@ static int xtpg_parse_of(struct xtpg_device *xtpg) xtpg->vip_format = format; } else if (xtpg->vip_format != format) { dev_err(dev, "in/out format mismatch in DT"); - of_node_put(port); return -EINVAL; }
This loop was recently converted to use for_each_of_graph_port() which automatically does __cleanup__ on the "port" iterator variable. Delete the calls to of_node_put(port) to avoid a double put bug. Fixes: 393194cdf11e ("media: xilinx-tpg: use new of_graph functions") Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> --- drivers/media/platform/xilinx/xilinx-tpg.c | 2 -- 1 file changed, 2 deletions(-)