Message ID | 20230907095521.14053-8-Julia.Lawall@inria.fr (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | add missing of_node_put | expand |
Julia Lawall <Julia.Lawall@inria.fr> writes: > for_each_available_child_of_node performs an of_node_get > on each iteration, so a break out of the loop requires an > of_node_put. > > This was done using the Coccinelle semantic patch > iterators/for_each_child.cocci > > Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr> Applied on mvebu/arm Thanks, Gregory > > --- > drivers/soc/dove/pmu.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff -u -p a/drivers/soc/dove/pmu.c b/drivers/soc/dove/pmu.c > --- a/drivers/soc/dove/pmu.c > +++ b/drivers/soc/dove/pmu.c > @@ -410,13 +410,16 @@ int __init dove_init_pmu(void) > struct pmu_domain *domain; > > domain = kzalloc(sizeof(*domain), GFP_KERNEL); > - if (!domain) > + if (!domain) { > + of_node_put(np); > break; > + } > > domain->pmu = pmu; > domain->base.name = kasprintf(GFP_KERNEL, "%pOFn", np); > if (!domain->base.name) { > kfree(domain); > + of_node_put(np); > break; > } > >
diff -u -p a/drivers/soc/dove/pmu.c b/drivers/soc/dove/pmu.c --- a/drivers/soc/dove/pmu.c +++ b/drivers/soc/dove/pmu.c @@ -410,13 +410,16 @@ int __init dove_init_pmu(void) struct pmu_domain *domain; domain = kzalloc(sizeof(*domain), GFP_KERNEL); - if (!domain) + if (!domain) { + of_node_put(np); break; + } domain->pmu = pmu; domain->base.name = kasprintf(GFP_KERNEL, "%pOFn", np); if (!domain->base.name) { kfree(domain); + of_node_put(np); break; }
for_each_available_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. This was done using the Coccinelle semantic patch iterators/for_each_child.cocci Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr> --- drivers/soc/dove/pmu.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)