[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAAa=b7duRXsiVBfzbvHhoU000gGh53Mme3ZKCO5SoiTdgRaXtg@mail.gmail.com>
Date: Thu, 15 Aug 2019 16:46:05 -0400
From: Wenwen Wang <wenwen@...uga.edu>
To: David Miller <davem@...emloft.net>
Cc: Richard Fontana <rfontana@...hat.com>,
Allison Randal <allison@...utok.net>,
Alexios Zavras <alexios.zavras@...el.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Thomas Gleixner <tglx@...utronix.de>,
"open list:NETWORKING [GENERAL]" <netdev@...r.kernel.org>,
open list <linux-kernel@...r.kernel.org>,
Wenwen Wang <wenwen@...uga.edu>
Subject: Re: [PATCH] net: pch_gbe: Fix memory leaks
On Thu, Aug 15, 2019 at 4:42 PM David Miller <davem@...emloft.net> wrote:
>
> From: Wenwen Wang <wenwen@...uga.edu>
> Date: Thu, 15 Aug 2019 16:03:39 -0400
>
> > On Thu, Aug 15, 2019 at 3:34 PM David Miller <davem@...emloft.net> wrote:
> >>
> >> From: Wenwen Wang <wenwen@...uga.edu>
> >> 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@...uga.edu>
> >>
> >> 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.
That happens not only inside of the if statement, but also before the
if statement, just after 'txdr' and 'rxdr' are allocated.
Wenwen
Powered by blists - more mailing lists