Re: [PATCH] net: pch_gbe: Fix memory leaks

From: David Miller
Date: Thu Aug 15 2019 - 16:42:35 EST


From: Wenwen Wang <wenwen@xxxxxxxxxx>
Date: Thu, 15 Aug 2019 16:03:39 -0400

> On Thu, Aug 15, 2019 at 3:34 PM David Miller <davem@xxxxxxxxxxxxx> wrote:
>>
>> From: Wenwen Wang <wenwen@xxxxxxxxxx>
>> Date: Tue, 13 Aug 2019 20:33:45 -0500
>>
>> > In pch_gbe_set_ringparam(), if netif_running() returns false, 'tx_old' and
>> > 'rx_old' are not deallocated, leading to memory leaks. To fix this issue,
>> > move the free statements after the if branch.
>> >
>> > Signed-off-by: Wenwen Wang <wenwen@xxxxxxxxxx>
>>
>> Why would they be "deallocated"? They are still assigned to
>> adapter->tx_ring and adapter->rx_ring.
>
> 'adapter->tx_ring' and 'adapter->rx_ring' has been covered by newly
> allocated 'txdr' and 'rxdr' respectively before this if statement.

That only happens inside of the if() statement, that's why rx_old and
tx_old are only freed in that code path.