Re: [PATCH v1] bus: ti-sysc: Fix /chosen node reference leak
최유호 <[email protected]> Thu, 2 Jul 2026 17:13:28 -0400
| Newsgroups | org.kernel.vger.linux-omap,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CACrCO_XcYF=T3kpeUcm_ReHdUXrwd6znPkpmLbonVKTVoNkw+w@mail.gmail.com> |
Hi, Just a gentle ping on this patch. I would appreciate any feedback when you have a chance to review this. Thanks On Mon, 15 Jun 2026 at 16:05, Yuho Choi <[email protected]> wrote: > > sysc_init_stdout_path() gets the /chosen node with > of_find_node_by_path() to read stdout-path. The function then overwrites > the local node pointer with the stdout-path lookup result, or exits on > error, without dropping the /chosen reference. > > Keep the /chosen node in a separate variable and put it after the > stdout-path value has been used for the lookup. The successful stdout > node lookup remains referenced by the cached stdout_path pointer. > > Fixes: 3bb37c8e6e6a ("bus: ti-sysc: Handle stdout-path for debug console") > Signed-off-by: Yuho Choi <[email protected]> > --- > drivers/bus/ti-sysc.c | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-) > > diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c > index a5b9507de37c..e118b900c9ac 100644 > --- a/drivers/bus/ti-sysc.c > +++ b/drivers/bus/ti-sysc.c > @@ -682,6 +682,7 @@ static struct device_node *stdout_path; > > static void sysc_init_stdout_path(struct sysc *ddata) > { > + struct device_node *chosen; > struct device_node *np = NULL; > const char *uart; > > @@ -691,15 +692,18 @@ static void sysc_init_stdout_path(struct sysc *ddata) > if (stdout_path) > return; > > - np = of_find_node_by_path("/chosen"); > - if (!np) > + chosen = of_find_node_by_path("/chosen"); > + if (!chosen) > goto err; > > - uart = of_get_property(np, "stdout-path", NULL); > - if (!uart) > + uart = of_get_property(chosen, "stdout-path", NULL); > + if (!uart) { > + of_node_put(chosen); > goto err; > + } > > np = of_find_node_by_path(uart); > + of_node_put(chosen); > if (!np) > goto err; > > -- > 2.43.0 >