Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp1088662ybb; Wed, 1 Apr 2020 15:36:31 -0700 (PDT) X-Google-Smtp-Source: APiQypIwst7qbucSUOneIPtfECK7ctVquGDxxYKhA9TDvJiTwjw77Uof1ScefCGTIBUQansMf/Bu X-Received: by 2002:a05:6808:43:: with SMTP id v3mr178227oic.59.1585780591010; Wed, 01 Apr 2020 15:36:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585780591; cv=none; d=google.com; s=arc-20160816; b=eew3iRcN576stVklB6uOjSCfhR9vyVKWsFaHG+BhBOJ3LBDhKdPftiiQgynDo/yz0+ igHJJ0NX6svzmyzmkDwnuEmXdR0IqW214Y5066U8XAMWqE/VV8BJz40UsUmYjjTs+4Ct iy8bjczEdhajbk6logsp2NOLzQf2yM4D56krh3I4nh2+nXwdNGt75e8O9vbQ1RjBYVR5 nS/MaXm3j/bNVBij4IBmt8afVEMLHdXNdYk4Pho12f28gz2hmVH10rNVpy3vzGloQ6Lw JMllsiCNTCHKM+ov7TTfvB9rBPev3/SWNyLAF5Xa5CX/qFN3EH9NI/4d2bbYDUo5wiK7 Z52g== 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=sICFdrTTtdC0rI5bUE268Wtrt2qoS4rmtZVGdERRbmY=; b=kfGOo1q8MayZxjY06wIBzdehYhEE/qYCMb6RS4sbYIBcLJeK6ydlTYMN1NS3fMMIj/ g3wD0eMYo+O1Vld+tJcdpIhnbMVwga3U7vjLIUBFRP3c/yUN+q3sJ+a2gIYaMpYzZk0v A31IXP5epkeY8o259DZjVNhEf4Z1V3Obbfxqi6liecLyapc6WnkPXz8wEiYzhsoJiqok dDu3R1MsmMLt3i1C+Gseo/BV/qXMpYCOMrjGm7jn1/TK2LVCuJY4CfTeDQJ6e5x+6i1M XYwQVvhd2HWBL/327Ys3qPlUVigvIkUnmTIkFVmTUKwVNJapaayA/uUwr+LVBIAy4Pob 2FiA== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d130si1415428oia.222.2020.04.01.15.36.19; Wed, 01 Apr 2020 15:36:30 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387430AbgDAWfp (ORCPT + 99 others); Wed, 1 Apr 2020 18:35:45 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:47635 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732669AbgDAWfp (ORCPT ); Wed, 1 Apr 2020 18:35:45 -0400 Received: from 1.general.cking.uk.vpn ([10.172.193.212] helo=localhost) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1jJlxV-00030u-HX; Wed, 01 Apr 2020 22:35:41 +0000 From: Colin King To: Kishon Vijay Abraham I , Lorenzo Pieralisi , Bjorn Helgaas , linux-pci@vger.kernel.org Cc: kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH][next] PCI: endpoint: functions/pci-epf-test: fix memory leak of buf Date: Wed, 1 Apr 2020 23:35:41 +0100 Message-Id: <20200401223541.403438-1-colin.king@canonical.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Colin Ian King In the case where data cannot be transferred using DMA the allocation of buf leaked on the error return path. Fix this by jumping to the label err_dma_map that kfree's buf before the return. Addresses-Coverity: ("Resource leak") Fixes: a558357b1b34 ("PCI: endpoint: functions/pci-epf-test: Add DMA support to transfer data") Signed-off-by: Colin Ian King --- drivers/pci/endpoint/functions/pci-epf-test.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pci/endpoint/functions/pci-epf-test.c b/drivers/pci/endpoint/functions/pci-epf-test.c index 3b4cf7e2bc60..60330f3e3751 100644 --- a/drivers/pci/endpoint/functions/pci-epf-test.c +++ b/drivers/pci/endpoint/functions/pci-epf-test.c @@ -347,7 +347,7 @@ static int pci_epf_test_read(struct pci_epf_test *epf_test) if (!epf_test->dma_supported) { dev_err(dev, "Cannot transfer data using DMA\n"); ret = -EINVAL; - goto err_map_addr; + goto err_dma_map; } dst_phys_addr = dma_map_single(dma_dev, buf, reg->size, -- 2.25.1