[PATCH] i2c: busses: i2c-fsi.c: Add of_put_node() before break

Eddie James eajames at linux.vnet.ibm.com
Wed Sep 4 04:18:51 AEST 2019


On 9/3/19 1:15 PM, Wolfram Sang wrote:
> On Sat, Jul 06, 2019 at 06:49:11PM +0530, Nishka Dasgupta wrote:
>> 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 at gmail.com>
>> ---
> Eddie, are you okay with this change?


Yes, sorry must have missed this when it first came in.

Thanks.


Reviewed-by: Eddie James <eajames at linux.ibm.com>


>
>>   drivers/i2c/busses/i2c-fsi.c | 4 +++-
>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/i2c/busses/i2c-fsi.c b/drivers/i2c/busses/i2c-fsi.c
>> index 1e2be2219a60..5e01875082c3 100644
>> --- a/drivers/i2c/busses/i2c-fsi.c
>> +++ b/drivers/i2c/busses/i2c-fsi.c
>> @@ -685,8 +685,10 @@ static int fsi_i2c_probe(struct device *dev)
>>   			continue;
>>   
>>   		port = kzalloc(sizeof(*port), GFP_KERNEL);
>> -		if (!port)
>> +		if (!port) {
>> +			of_node_put(np);
>>   			break;
>> +		}
>>   
>>   		port->master = i2c;
>>   		port->port = port_no;
>> -- 
>> 2.19.1
>>


More information about the openbmc mailing list