diff options
author | Nishka Dasgupta <nishkadg.linux@gmail.com> | 2019-08-04 18:30:18 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-08-07 00:35:13 +0300 |
commit | f26e0cca14c9494c863d8fa6825b10bd12dc9eaa (patch) | |
tree | eec432e5613dcf4d48a61c067f716bee990cd67e /drivers/net/dsa/sja1105 | |
parent | 443bfb4acb83a6f0b7d9b11ac32f17c67f14e995 (diff) | |
download | linux-f26e0cca14c9494c863d8fa6825b10bd12dc9eaa.tar.xz |
net: dsa: qca8k: Add of_node_put() in qca8k_setup_mdio_bus()
Each iteration of for_each_available_child_of_node() puts the previous
node, but in the case of a return from the middle of the loop, there
is no put, thus causing a memory leak. Hence add an of_node_put() before
the return.
Additionally, the local variable ports in the function
qca8k_setup_mdio_bus() takes the return value of of_get_child_by_name(),
which gets a node but does not put it. If the function returns without
putting ports, it may cause a memory leak. Hence put ports before the
mid-loop return statement, and also outside the loop after its last usage
in this function.
Issues found with Coccinelle.
Signed-off-by: Nishka Dasgupta <nishkadg.linux@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/dsa/sja1105')
0 files changed, 0 insertions, 0 deletions