Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1463453ybz; Sat, 18 Apr 2020 01:19:22 -0700 (PDT) X-Google-Smtp-Source: APiQypLIu42LWV2VhhJ1WgyveKodOlXZo/oy2pffyB3tyGLQZrW4lA5IJg0g4qduNPNDQkQwLWUp X-Received: by 2002:a17:906:4f03:: with SMTP id t3mr6644255eju.254.1587197962180; Sat, 18 Apr 2020 01:19:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587197962; cv=none; d=google.com; s=arc-20160816; b=uHV3RGMp3wtgO0JwyMktTar0xfuvwqPiOcLsQHvAbZG8J8E80TIfzpHteUY4eU4yw5 YdnrR/4quSolyjEXkv5JcRnJog7fzhIyBoE79r1/2MBWB/ksLyH+h2vazkoxS4g/lNwp Dp/QE277rYVOnN7XrknD0tCaH256hJmJqOrnHnJYNYV9Hl6lj9TruJsGlZwbLBbWfPTD zd/LMN/5Xv5yctBzYOS89jdG9N+hkI40dFN/2uxROe2nGQT2idTG4tc2P8yxCt0PQdsG 8+5Ob98Pn2uDUCNebWZDjwC1JOLVrzEOEDZbOdw9592o9fD8iXWmJ7aZSIbyjHZEgBvL 683w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=eqmvGs/bH56SSWL2iFtt/CtLyhXMcH/BB588/eRdtEE=; b=K58894e4YTiOILfW/rkJemC04PjP0EouOe4nKmcSRsV+v3KwZrD48px/oZF/8fyCZh AoV8zu3UTjAfVuPrWVVZz1JfYo1eH1vtKILzJ3VpL87XAig8A0Cv6rDyCR5SSTE0wME0 qkRuvH/P8n3KjVKm5YpZM+R4eLTm2MKPR8J07CPRk8N+r3xxLmsJnApk+QUC6tUcAb9x Z0FaAftUmp63SD5L9Giknro5QkN1ljsnx6x25cbDg4hUgGIywOYalUnlicq+QnSEv/8f pIG97K2d2m3S3n1b5zwqXPKXN6meZWMwLzMLHSnE/HRYFljQaeeHZ3EHZBgfuIsaCWRD g/2w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cf5si11882122ejb.171.2020.04.18.01.19.00; Sat, 18 Apr 2020 01:19:22 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726138AbgDRIQn (ORCPT + 99 others); Sat, 18 Apr 2020 04:16:43 -0400 Received: from smtp06.smtpout.orange.fr ([80.12.242.128]:43107 "EHLO smtp.smtpout.orange.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725949AbgDRIQm (ORCPT ); Sat, 18 Apr 2020 04:16:42 -0400 Received: from localhost.localdomain ([90.126.162.40]) by mwinf5d64 with ME id U8Gf220050scBcy038GfPu; Sat, 18 Apr 2020 10:16:40 +0200 X-ME-Helo: localhost.localdomain X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Sat, 18 Apr 2020 10:16:40 +0200 X-ME-IP: 90.126.162.40 From: Christophe JAILLET To: linus.walleij@linaro.org, lorenzo.pieralisi@arm.com, amurray@thegoodpenguin.co.uk, bhelgaas@google.com Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET Subject: [PATCH] PCI: v3-semi: Fix a memory leak in some error handling paths in 'v3_pci_probe()' Date: Sat, 18 Apr 2020 10:16:37 +0200 Message-Id: <20200418081637.1585-1-christophe.jaillet@wanadoo.fr> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org IF we fails somewhere in 'v3_pci_probe()', we need to free 'host'. Use the managed version of 'pci_alloc_host_bridge()' to do that easily. The use of managed resources is already widely used in this driver. Fixes: 68a15eb7bd0c ("PCI: v3-semi: Add V3 Semiconductor PCI host driver") Signed-off-by: Christophe JAILLET --- Fixes could be older than this commit, but this is as far as git can go. There is also a 'clk_prepare_enable()' which looks un-ballanced. I don't know if it can be an issue. Compile tested only. --- drivers/pci/controller/pci-v3-semi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pci/controller/pci-v3-semi.c b/drivers/pci/controller/pci-v3-semi.c index bd05221f5a22..ddcb4571a79b 100644 --- a/drivers/pci/controller/pci-v3-semi.c +++ b/drivers/pci/controller/pci-v3-semi.c @@ -720,7 +720,7 @@ static int v3_pci_probe(struct platform_device *pdev) int irq; int ret; - host = pci_alloc_host_bridge(sizeof(*v3)); + host = devm_pci_alloc_host_bridge(dev, sizeof(*v3)); if (!host) return -ENOMEM; -- 2.20.1