From nobody Thu Nov 13 22:13:55 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1582687050; cv=none; d=zohomail.com; s=zohoarc; b=eFhMmDhKFRY+NUTRRV/TPdZXkHnKb+vBPc70CkERSwXLJ48rDeIFNT+3IBiGcENR6sSt9QeZKpa3HAQ5s5OQ0o6NXjtQGSP7PJJw7YhgSQB/qXTwa0WlCrobHq68uv9Mip2IS+zlufQxlGUA5+mI2xMsal44t84I/tAeVSdm6H8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1582687050; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=BsJ7JC+/E0flTfDUgi8cd2+DbNpjce0XTIsT63K2E0M=; b=eET7TR/IvY03mDWPFhTezSG8K1npeBAIsFJmwAfsrW1WHmTB12mpiQXyDL3ssDbDfFNs2YMRAx8jcP3mF9xMPAsIYipJ6ARzfKCXwixY+9s+u+nWAvrob8LS1PjhF10i44OMz4nnQtQ2PuP2bkOgJtDZIoHvOlCtqSlSA1OvwXQ= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1582687050714710.2026994773416; Tue, 25 Feb 2020 19:17:30 -0800 (PST) Received: from localhost ([::1]:37496 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j6nCT-0008VX-7e for importer@patchew.org; Tue, 25 Feb 2020 22:17:29 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50877) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j6nAI-0005sv-Gj for qemu-devel@nongnu.org; Tue, 25 Feb 2020 22:15:15 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j6nAH-00056N-6I for qemu-devel@nongnu.org; Tue, 25 Feb 2020 22:15:14 -0500 Received: from szxga06-in.huawei.com ([45.249.212.32]:39994 helo=huawei.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j6nAD-0004iI-OV; Tue, 25 Feb 2020 22:15:10 -0500 Received: from DGGEMS409-HUB.china.huawei.com (unknown [172.30.72.58]) by Forcepoint Email with ESMTP id 24A87E443B5A1593A25F; Wed, 26 Feb 2020 11:15:05 +0800 (CST) Received: from localhost.localdomain (10.175.104.216) by DGGEMS409-HUB.china.huawei.com (10.3.19.209) with Microsoft SMTP Server id 14.3.439.0; Wed, 26 Feb 2020 11:14:57 +0800 From: Pan Nengyuan To: , Subject: [PATCH 1/2] block/qcow2: do free crypto_opts in qcow2_close() Date: Wed, 26 Feb 2020 11:30:36 +0800 Message-ID: <20200226033037.18253-2-pannengyuan@huawei.com> X-Mailer: git-send-email 2.18.2 In-Reply-To: <20200226033037.18253-1-pannengyuan@huawei.com> References: <20200226033037.18253-1-pannengyuan@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.175.104.216] X-CFilter-Loop: Reflected X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 45.249.212.32 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: euler.robot@huawei.com, Pan Nengyuan , qemu-devel@nongnu.org, qemu-block@nongnu.org, zhang.zhanghailiang@huawei.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 'crypto_opts' forgot to free in qcow2_close(), this patch fix the bellow le= ak stack: Direct leak of 24 byte(s) in 1 object(s) allocated from: #0 0x7f0edd81f970 in __interceptor_calloc (/lib64/libasan.so.5+0xef970) #1 0x7f0edc6d149d in g_malloc0 (/lib64/libglib-2.0.so.0+0x5249d) #2 0x55d7eaede63d in qobject_input_start_struct /mnt/sdb/qemu-new/qemu_= test/qemu/qapi/qobject-input-visitor.c:295 #3 0x55d7eaed78b8 in visit_start_struct /mnt/sdb/qemu-new/qemu_test/qem= u/qapi/qapi-visit-core.c:49 #4 0x55d7eaf5140b in visit_type_QCryptoBlockOpenOptions qapi/qapi-visit= -crypto.c:290 #5 0x55d7eae43af3 in block_crypto_open_opts_init /mnt/sdb/qemu-new/qemu= _test/qemu/block/crypto.c:163 #6 0x55d7eacd2924 in qcow2_update_options_prepare /mnt/sdb/qemu-new/qem= u_test/qemu/block/qcow2.c:1148 #7 0x55d7eacd33f7 in qcow2_update_options /mnt/sdb/qemu-new/qemu_test/q= emu/block/qcow2.c:1232 #8 0x55d7eacd9680 in qcow2_do_open /mnt/sdb/qemu-new/qemu_test/qemu/blo= ck/qcow2.c:1512 #9 0x55d7eacdc55e in qcow2_open_entry /mnt/sdb/qemu-new/qemu_test/qemu/= block/qcow2.c:1792 #10 0x55d7eacdc8fe in qcow2_open /mnt/sdb/qemu-new/qemu_test/qemu/block= /qcow2.c:1819 #11 0x55d7eac3742d in bdrv_open_driver /mnt/sdb/qemu-new/qemu_test/qemu= /block.c:1317 #12 0x55d7eac3e990 in bdrv_open_common /mnt/sdb/qemu-new/qemu_test/qemu= /block.c:1575 #13 0x55d7eac4442c in bdrv_open_inherit /mnt/sdb/qemu-new/qemu_test/qem= u/block.c:3126 #14 0x55d7eac45c3f in bdrv_open /mnt/sdb/qemu-new/qemu_test/qemu/block.= c:3219 #15 0x55d7ead8e8a4 in blk_new_open /mnt/sdb/qemu-new/qemu_test/qemu/blo= ck/block-backend.c:397 #16 0x55d7eacde74c in qcow2_co_create /mnt/sdb/qemu-new/qemu_test/qemu/= block/qcow2.c:3534 #17 0x55d7eacdfa6d in qcow2_co_create_opts /mnt/sdb/qemu-new/qemu_test/= qemu/block/qcow2.c:3668 #18 0x55d7eac1c678 in bdrv_create_co_entry /mnt/sdb/qemu-new/qemu_test/= qemu/block.c:485 #19 0x55d7eb0024d2 in coroutine_trampoline /mnt/sdb/qemu-new/qemu_test/= qemu/util/coroutine-ucontext.c:115 Reported-by: Euler Robot Signed-off-by: Pan Nengyuan Reviewed-by: Max Reitz --- block/qcow2.c | 1 + 1 file changed, 1 insertion(+) diff --git a/block/qcow2.c b/block/qcow2.c index 8dcee5efec..ac231b688e 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -2603,6 +2603,7 @@ static void qcow2_close(BlockDriverState *bs) =20 qcrypto_block_free(s->crypto); s->crypto =3D NULL; + qapi_free_QCryptoBlockOpenOptions(s->crypto_opts); =20 g_free(s->unknown_header_fields); cleanup_unknown_header_ext(bs); --=20 2.18.2