]> git.baikalelectronics.ru Git - kernel.git/commit
net: ethernet: ti: cpsw: Add of_node_put() before return and break
authorNishka Dasgupta <nishkadg.linux@gmail.com>
Tue, 16 Jul 2019 05:48:43 +0000 (11:18 +0530)
committerDavid S. Miller <davem@davemloft.net>
Tue, 16 Jul 2019 19:37:30 +0000 (12:37 -0700)
commit6eaa0a3e725de71c99d9121d896e4c6c3ecbfb0a
treee4e0dd19a54904b1b39244a7d3e9e341433f5814
parentcde94c92fd5de69e070e5858ab8943ebf6527ba1
net: ethernet: ti: cpsw: Add of_node_put() before return and break

Each iteration of for_each_available_child_of_node puts the previous
node, but in the case of a return or break from the middle of the loop,
there is no put, thus causing a memory leak.
Hence, for function cpsw_probe_dt, create an extra label err_node_put
that puts the last used node and returns ret; modify the return
statements in the loop to save the return value in ret and goto this new
label.
For function cpsw_remove_dt, add an of_node_put before the break.
Issue found with Coccinelle.

Signed-off-by: Nishka Dasgupta <nishkadg.linux@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ti/cpsw.c