Skip to contentSkip to conversation

clk: ti: fix refcount leak in ti_dt_clocks_register()

PATCH Applied Yangtao Li 2 participants 2 messages Dec 26, 2018 – Dec 28, 2018

Subsystems (2)
lore
Share & tools
lore

Yangtao Li

author
#0 lore raw

PATCH 1/1 clk: ti: fix refcount leak in ti_dt_clocks_register()

The of_find_compatible_node() returns a node pointer with refcount incremented, but there is the lack of use of the of_node_put() when done. Add the missing of_node_put() to release the refcount.

---
 drivers/clk/ti/clk.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
drivers/clk/ti/clk.c +6 -2
index d0cd58534781..6c640838cdaa 100644
@@ -191,9 +191,13 @@ void __init ti_dt_clocks_register(struct ti_dt_clk oclks[])
 			clkdev_add(&c->lk);
 		} else {
 			if (num_args && !has_clkctrl_data) {
-				if (of_find_compatible_node(NULL, NULL,
-							    "ti,clkctrl")) {
+				struct device_node *np;
+
+				np = of_find_compatible_node(NULL, NULL,
+					       		     "ti,clkctrl");	
+				if (np) {
 					has_clkctrl_data = true;
+					of_node_put(np);
 				} else {
 					clkctrl_nodes_missing = true;
 
Signature · 1 line
2.17.0
maintainer Applied
#1 lore raw

Quoting Yangtao Li (2018-12-26 05:21:31)

Quoted 9 lines

The of_find_compatible_node() returns a node pointer with refcount incremented, but there is the lack of use of the of_node_put() when done. Add the missing of_node_put() to release the refcount.

---
 drivers/clk/ti/clk.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

Applied to clk-next and fixed a whine

drivers/clk/ti/clk.c:197: trailing whitespace, space before tab in indent.

please be more careful next time. Also, please add fixes tags to fixes.