Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp315358ybl; Tue, 20 Aug 2019 20:48:23 -0700 (PDT) X-Google-Smtp-Source: APXvYqyNfN7MEGXbbg7NeGufJZ6FySwKmVJLc6JN9pRlwHhzowCbE3J0xnyqb4whH+/GTfvjpjmg X-Received: by 2002:aa7:8102:: with SMTP id b2mr33848412pfi.105.1566359303837; Tue, 20 Aug 2019 20:48:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566359303; cv=none; d=google.com; s=arc-20160816; b=TXQM86nWdiJh9FzNKUZoOUZAYicaeugwNyqBJN0KIDzdrQzbXvQlvN16qjMqfhn3gS n0WbQDlUyNKkApV5nvXdM0JPfDaParM+AxxtNPbmAqur1N1OF1Y3fi7HlzzvR72a3aMT W+uF1Zq7OZx+jEovbOEhk2cQnSbG0ISUGzVhMj+A/vCElyGocj3g6CnSDzoTuyE0EDk4 ubaA0e5YIIQsZ1kGSK+SDOoUFLIAVLNtByKPfbJ/pt/TzwQDMAFzR4O8wRp8a351ZhiV STDEmQjVydHwL7qGiRC21ybYrv1wrZDCUkd+rT4DLPw4Gw37753w5Tx8eP6WLcFC3oVH gLEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version; bh=rvPN1B+fpc98fuxLngvHhPY2PZ/jowgmPMbemMYuXtU=; b=LiyFpYae7DR5tHjwX79OTJI0HD54KQtbK7ZXcYziwhGnKcUXEwVhf2dKmAgoekUBFm afXdWf8onPHC+X2Qp2Op3dPpWJH4dTLArole/tmntnHzfldMGicmHy1nLLrXTEVTSefu raN+T35d1tkCDm7jPIv5rTfHBS5QidNZTkOSe7AWkVDSAQplFAXN9qYXHwfzY5FlcKsE hBwrugMErhh1NkPGLeombD9IygOy6XhHMGO347cN5EDL3TDeRWh32BJoOXaYnL0MHgKd BkhbDifMipzuiwPEgDnEQoMKjb0FQ3GjujzoSe26hPbYSEiPt4+4/ntLQ2WTWtPNWSlj HNVw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y9si4729889pfr.188.2019.08.20.20.48.08; Tue, 20 Aug 2019 20:48:23 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727299AbfHUDb7 (ORCPT + 99 others); Tue, 20 Aug 2019 23:31:59 -0400 Received: from ajax.cs.uga.edu ([128.192.4.6]:43718 "EHLO ajax.cs.uga.edu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726907AbfHUDb7 (ORCPT ); Tue, 20 Aug 2019 23:31:59 -0400 Received: from mail-lf1-f42.google.com (mail-lf1-f42.google.com [209.85.167.42]) (authenticated bits=0) by ajax.cs.uga.edu (8.14.4/8.14.4) with ESMTP id x7L3Vusd068100 (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 20 Aug 2019 23:31:57 -0400 Received: by mail-lf1-f42.google.com with SMTP id 62so650317lfa.8; Tue, 20 Aug 2019 20:31:57 -0700 (PDT) X-Gm-Message-State: APjAAAURX9vk+ObwhABU89VU/fOEgkDJcYNO52tCywDjS7SF54Rhnr6k i57LECGG4Ig6WJJ2sfDd8siitaliYaiMeqaiKi4= X-Received: by 2002:ac2:48b8:: with SMTP id u24mr16902642lfg.170.1566358316201; Tue, 20 Aug 2019 20:31:56 -0700 (PDT) MIME-Version: 1.0 References: <1565930002-5524-1-git-send-email-wenwen@cs.uga.edu> <20190819212317.GU253360@google.com> In-Reply-To: <20190819212317.GU253360@google.com> From: Wenwen Wang Date: Tue, 20 Aug 2019 23:31:20 -0400 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH] ACPI / PCI: fix a memory leak bug To: Bjorn Helgaas Cc: "Rafael J. Wysocki" , Len Brown , "open list:PCI SUBSYSTEM" , "open list:ACPI" , open list , Wenwen Wang Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Aug 19, 2019 at 5:23 PM Bjorn Helgaas wrote: > > The subject line should give a clue about where the leak is, e.g., > > ACPI / PCI: fix acpi_pci_irq_enable() memory leak > > On Thu, Aug 15, 2019 at 11:33:22PM -0500, Wenwen Wang wrote: > > In acpi_pci_irq_enable(), 'entry' is allocated by invoking > > acpi_pci_irq_lookup(). However, it is not deallocated if > > acpi_pci_irq_valid() returns false, leading to a memory leak. To fix this > > issue, free 'entry' before returning 0. > > I think the corresponding kzalloc() is the one in > acpi_pci_irq_check_entry(). > > > Signed-off-by: Wenwen Wang > > --- > > drivers/acpi/pci_irq.c | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/acpi/pci_irq.c b/drivers/acpi/pci_irq.c > > index d2549ae..dea8a60 100644 > > --- a/drivers/acpi/pci_irq.c > > +++ b/drivers/acpi/pci_irq.c > > @@ -449,8 +449,10 @@ int acpi_pci_irq_enable(struct pci_dev *dev) > > * No IRQ known to the ACPI subsystem - maybe the BIOS / > > * driver reported one, then use it. Exit in any case. > > */ > > - if (!acpi_pci_irq_valid(dev, pin)) > > + if (!acpi_pci_irq_valid(dev, pin)) { > > + kfree(entry); > > return 0; > > + } > > Looks like we missed this when e237a5518425 ("x86/ACPI/PCI: Recognize > that Interrupt Line 255 means "not connected"") was merged. > > You could add: > > Fixes: e237a5518425 ("x86/ACPI/PCI: Recognize that Interrupt Line 255 means "not connected"") > > > if (acpi_isa_register_gsi(dev)) > > dev_warn(&dev->dev, "PCI INT %c: no GSI\n", > > -- > > 2.7.4 > > Thanks for your comments and suggestions! I will rework the patch. Wenwen