Each iteration of for_each_available_child_of_node puts the previous node, but in the case of a goto from the middle of the loop, there is no put, thus causing a memory leak. Hence add an of_node_put before the goto. Issue found with Coccinelle.
Signed-off-by: Nishka Dasgupta <nishkadg.li...@gmail.com> --- drivers/mailbox/zynqmp-ipi-mailbox.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/mailbox/zynqmp-ipi-mailbox.c b/drivers/mailbox/zynqmp-ipi-mailbox.c index 86887c9a349a..bd80d4c10ec2 100644 --- a/drivers/mailbox/zynqmp-ipi-mailbox.c +++ b/drivers/mailbox/zynqmp-ipi-mailbox.c @@ -661,6 +661,7 @@ static int zynqmp_ipi_probe(struct platform_device *pdev) if (ret) { dev_err(dev, "failed to probe subdev.\n"); ret = -EINVAL; + of_node_put(nc); goto free_mbox_dev; } mbox++; -- 2.19.1