Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp3957571pxb; Tue, 2 Mar 2021 03:04:07 -0800 (PST) X-Google-Smtp-Source: ABdhPJyJG8rOX0G7RRSUldfbNUJWwt+VEr8qArGfT+cdd1Ie3PEcqlJqDQ7jLokpldQtyXwfG3a8 X-Received: by 2002:a17:906:ae96:: with SMTP id md22mr18410292ejb.409.1614683047713; Tue, 02 Mar 2021 03:04:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614683047; cv=none; d=google.com; s=arc-20160816; b=MQL+Zy1xMpeLHJ5scjSBYKj0BHRUSfu5apa1gEK65UUbCIg0Ajxt/Qa6PvMRI+gA7U cVAv8YmZlMGsbjul1bfNjmi0N8o1U70FjOv2UQMnKvKAM5idMKMxIU3iyUaE42aTHE3R /WdlsWqKT5O5Sq+tjcKG3GECjlRHCuzvz3N9k34wkdf+ATcxQapUDn2+dB7lWnmzThEh vX9kumtzG2BmpVDAxsrR0nGs1vTQtYr/cuMEadDmHtHQknaXTVIJCTK7PL7FYzwbjjsU oPD9UlvuGoaPefjCir62/50OtswiIWaKWOizAJGY4c0DL3F/mgYWNzFp+VlSzrHuyi12 kpCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=2qgX5hIdHy52Ik+IGImb0O/X+3MaNvntGhndaDisf3k=; b=C5SdvjXh6gPmaFe8O3FsPXiZLWscTGksNxIo2fMdwLDMgQPfThCNG4I4x8ZDu+wZa2 3iOYtlLNkNq6TrYu7yIZF+xPNLssHrhO5HKXIEccfv8Y0erU8meU4Tb+LUKCnzMlFCYb NG4P3tlkGIvdvIs++VJX49jrZ3rpupCxmlHgiB/W2J0mnsxocU9hUjeWBIcn1Xgmn5Mh lNhxRkFInRQsAUZE+2newF022yUtCh4Ja5krEWfLs8Znzrt0/oVqAt4TQEiCyDmi4o1a 4T7Xbk7NcEXJMooiBtk53lJp6gYr2YFVgWXeiwxzNNtdS5Eh0wBcoMpfuOSt5E3mZjGx uUZQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=RYC2NDLd; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q18si13733601eji.501.2021.03.02.03.03.44; Tue, 02 Mar 2021 03:04:07 -0800 (PST) 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; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=RYC2NDLd; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1380296AbhCBBuJ (ORCPT + 99 others); Mon, 1 Mar 2021 20:50:09 -0500 Received: from mail.kernel.org ([198.145.29.99]:49354 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241627AbhCAT2C (ORCPT ); Mon, 1 Mar 2021 14:28:02 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 74F46652A1; Mon, 1 Mar 2021 17:33:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1614619984; bh=aWTIFM4NeP3t/+9+xymvdY5JiY10QtUC0TL3TErd+j4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RYC2NDLdLAw5km8EQ0+n8699TQASHMW26KdO/4QqQ0Aiv47TdBLGIRFjh7t9ikaUp 6+cRBZ3em5sa1dnt+2mnRh11GCSFKO2zar5SN23VY/ZkunGd8vWwWHiE1MOFaLsKJo IwcBYi1Lre8UL+sVi4TXVFoDzmxB8TtN2PUcg7Pg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Nikos Tsironis , Ming-Hung Tsai , Mike Snitzer Subject: [PATCH 5.10 651/663] dm era: Fix bitset memory leaks Date: Mon, 1 Mar 2021 17:14:59 +0100 Message-Id: <20210301161214.064019804@linuxfoundation.org> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210301161141.760350206@linuxfoundation.org> References: <20210301161141.760350206@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Nikos Tsironis commit 904e6b266619c2da5c58b5dce14ae30629e39645 upstream. Deallocate the memory allocated for the in-core bitsets when destroying the target and in error paths. Fixes: eec40579d84873 ("dm: add era target") Cc: stable@vger.kernel.org # v3.15+ Signed-off-by: Nikos Tsironis Reviewed-by: Ming-Hung Tsai Signed-off-by: Mike Snitzer Signed-off-by: Greg Kroah-Hartman --- drivers/md/dm-era-target.c | 6 ++++++ 1 file changed, 6 insertions(+) --- a/drivers/md/dm-era-target.c +++ b/drivers/md/dm-era-target.c @@ -47,6 +47,7 @@ struct writeset { static void writeset_free(struct writeset *ws) { vfree(ws->bits); + ws->bits = NULL; } static int setup_on_disk_bitset(struct dm_disk_bitset *info, @@ -811,6 +812,8 @@ static struct era_metadata *metadata_ope static void metadata_close(struct era_metadata *md) { + writeset_free(&md->writesets[0]); + writeset_free(&md->writesets[1]); destroy_persistent_data_objects(md); kfree(md); } @@ -848,6 +851,7 @@ static int metadata_resize(struct era_me r = writeset_alloc(&md->writesets[1], *new_size); if (r) { DMERR("%s: writeset_alloc failed for writeset 1", __func__); + writeset_free(&md->writesets[0]); return r; } @@ -858,6 +862,8 @@ static int metadata_resize(struct era_me &value, &md->era_array_root); if (r) { DMERR("%s: dm_array_resize failed", __func__); + writeset_free(&md->writesets[0]); + writeset_free(&md->writesets[1]); return r; }