Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp1042841imm; Tue, 5 Jun 2018 08:16:42 -0700 (PDT) X-Google-Smtp-Source: ADUXVKIFzbec/4xx7tmenA/k8EGnpY2SoAZnM/AU7mQyPPYV/gyAtS2rC7MjIYfsDkc2dVmG9Bd8 X-Received: by 2002:a17:902:1e3:: with SMTP id b90-v6mr26163571plb.273.1528211802810; Tue, 05 Jun 2018 08:16:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528211802; cv=none; d=google.com; s=arc-20160816; b=ELFUj0hPT9nvCwgYsSFRgW1xfD2zMKwzS+d0XmkoZb11OsLkVdbKwt38WVgHf+H6l+ 24ZSTS8beS+s4677jdxYpU6omtC1h6RJd1k/ES4XcYBbasiJdvwS+K4s0pM3jNeE986+ rr1dHcLE7qOlXmUf1fAqjGIuR+cs0eoxbWunNJX3NNVVDeEnsEHVcliSRwVv9mfGQdvh POTUkBUznp5z0XOp4Ug0qJn4d7ZKP7yxgFI2I63/2+lBTqh2jn4t8XVQcVdAJPfCXVpT jrKSq1h+RJq28ABlYKJFIkRuGUAa4Emh2WZU/UOxR3IEh2448cb1hJBWzfBXKmGZLbSo 5n8A== 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:arc-authentication-results; bh=0oVCVMc2fOoE+1O+4tnNoH4mgBJkSFuQx+rO2TCIfHg=; b=mxB8Es2wMqK+8dWuEt2iym1H8jVx3CbY7bqHMe1y9fp3z0S+Y9pKG30tol1Woo05o2 jYCATfbECG/YMk378d4bFN8jXRvJ6gRx83CtWr24oQPRAj9bXaJMXPmembD/GcfM/7fF MIFNhf1PzROWRTufb6+mnkyz5rcPfqgFnIaAf7xa2mkWjT600RIFKSFHFJ3mzePrUGga 8T4DVcklaENjGfl2KJUnwi81Fvp7T7gqfd8tqxBo1UYzo+5jWqixRM8WhxDE7nW+h/yr fVtW1pMWvk5EV6oJInFPywS5KYgvs4F6QRmexdqYx0NjVIYj8SNT8w41GsDScJzsWfaE A4TA== 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 y4-v6si8750684pge.356.2018.06.05.08.16.27; Tue, 05 Jun 2018 08:16:42 -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 S1751976AbeFEPO7 (ORCPT + 99 others); Tue, 5 Jun 2018 11:14:59 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:57172 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751572AbeFEPO6 (ORCPT ); Tue, 5 Jun 2018 11:14:58 -0400 Received: from 1.general.cking.uk.vpn ([10.172.193.212] helo=localhost) by youngberry.canonical.com with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.76) (envelope-from ) id 1fQDfk-0006fB-Se; Tue, 05 Jun 2018 15:14:56 +0000 From: Colin King To: Matias Bjorling , linux-block@vger.kernel.org Cc: kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH][next] lightnvm: pblk: fix resource leak of invalid_bitmap Date: Tue, 5 Jun 2018 16:14:56 +0100 Message-Id: <20180605151456.20359-1-colin.king@canonical.com> X-Mailer: git-send-email 2.17.0 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 Currently the error exit path when the emeta could not be interpreted is via fail_free_ws and this fails to free invalid_bitmap. Fix this by adding another exit label and exiting via this to kfree invalid_bitmap. Detected by CoverityScan, CID#1469659 ("Resource leak") Fixes: 48b8d20895f8 ("lightnvm: pblk: garbage collect lines with failed writes") Signed-off-by: Colin Ian King --- drivers/lightnvm/pblk-gc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/lightnvm/pblk-gc.c b/drivers/lightnvm/pblk-gc.c index df88f1bdd921..31a0a1b3868b 100644 --- a/drivers/lightnvm/pblk-gc.c +++ b/drivers/lightnvm/pblk-gc.c @@ -203,7 +203,7 @@ static void pblk_gc_line_prepare_ws(struct work_struct *work) if (!lba_list) { pr_err("pblk: could not interpret emeta (line %d)\n", line->id); - goto fail_free_ws; + goto fail_free_invalid_bitmap; } } @@ -280,6 +280,7 @@ static void pblk_gc_line_prepare_ws(struct work_struct *work) kfree(gc_rq); fail_free_lba_list: pblk_mfree(lba_list, l_mg->emeta_alloc_type); +fail_free_invalid_bitmap: kfree(invalid_bitmap); fail_free_ws: kfree(line_ws); -- 2.17.0