• Nishka Dasgupta's avatar
    net: dsa: qca8k: Add of_node_put() in qca8k_setup_mdio_bus() · f26e0cca
    Nishka Dasgupta authored
    
    
    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: default avatarNishka Dasgupta <nishkadg.linux@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    f26e0cca