Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

i2c: fsi: Add of_put_node() before break

Each iteration of for_each_available_childe_of_node puts the previous
node, but in the case of a break from the middle of the loop, there
is no put, thus causing a memory leak. Add an of_node_put before the
break.
Issue found with Coccinelle.

Signed-off-by: Nishka Dasgupta <nishkadg.linux@gmail.com>
Reviewed-by: Eddie James <eajames@linux.ibm.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

authored by

Nishka Dasgupta and committed by
Wolfram Sang
0a321b97 7077ad2e

+3 -1
+3 -1
drivers/i2c/busses/i2c-fsi.c
··· 707 707 continue; 708 708 709 709 port = kzalloc(sizeof(*port), GFP_KERNEL); 710 - if (!port) 710 + if (!port) { 711 + of_node_put(np); 711 712 break; 713 + } 712 714 713 715 port->master = i2c; 714 716 port->port = port_no;