From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 66BE2C3A589 for ; Thu, 15 Aug 2019 20:46:48 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 42FC72171F for ; Thu, 15 Aug 2019 20:46:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732384AbfHOUqp (ORCPT ); Thu, 15 Aug 2019 16:46:45 -0400 Received: from ajax.cs.uga.edu ([128.192.4.6]:59002 "EHLO ajax.cs.uga.edu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728728AbfHOUqp (ORCPT ); Thu, 15 Aug 2019 16:46:45 -0400 Received: from mail-lj1-f179.google.com (mail-lj1-f179.google.com [209.85.208.179]) (authenticated bits=0) by ajax.cs.uga.edu (8.14.4/8.14.4) with ESMTP id x7FKkgUs078312 (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 15 Aug 2019 16:46:43 -0400 Received: by mail-lj1-f179.google.com with SMTP id h15so3370707ljg.10; Thu, 15 Aug 2019 13:46:43 -0700 (PDT) X-Gm-Message-State: APjAAAUCnQv/R7mFKHJd8x/tlQ8aT8UhBa5dI4IlDJNLJUOzz2K+s3Sa NhaH/+Uj0VJG2YEaES23MNVpa16QJkXbpf1yv94= X-Google-Smtp-Source: APXvYqz2r7ehE+Kq/uplBHFF/vWrICt2j6gnOl6mxPjSNU6q7kEsP42YzMCcN2+OCFbVGnDfm0trfcsj+mKW3zAb3mg= X-Received: by 2002:a2e:89da:: with SMTP id c26mr3093675ljk.214.1565902002043; Thu, 15 Aug 2019 13:46:42 -0700 (PDT) MIME-Version: 1.0 References: <1565746427-5366-1-git-send-email-wenwen@cs.uga.edu> <20190815.123430.831231953098536795.davem@davemloft.net> <20190815.134230.1028411309377288636.davem@davemloft.net> In-Reply-To: <20190815.134230.1028411309377288636.davem@davemloft.net> From: Wenwen Wang Date: Thu, 15 Aug 2019 16:46:05 -0400 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH] net: pch_gbe: Fix memory leaks To: David Miller Cc: Richard Fontana , Allison Randal , Alexios Zavras , Greg Kroah-Hartman , Thomas Gleixner , "open list:NETWORKING [GENERAL]" , open list , Wenwen Wang Content-Type: text/plain; charset="UTF-8" Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Thu, Aug 15, 2019 at 4:42 PM David Miller wrote: > > From: Wenwen Wang > Date: Thu, 15 Aug 2019 16:03:39 -0400 > > > On Thu, Aug 15, 2019 at 3:34 PM David Miller wrote: > >> > >> From: Wenwen Wang > >> 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 > >> > >> 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