From patchwork Wed Jan 2 07:41:14 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Li Qiang X-Patchwork-Id: 10746137 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 162C713BF for ; Wed, 2 Jan 2019 07:43:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 07A2E28481 for ; Wed, 2 Jan 2019 07:43:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id EF842284FF; Wed, 2 Jan 2019 07:43:17 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 6500828481 for ; Wed, 2 Jan 2019 07:43:17 +0000 (UTC) Received: from localhost ([127.0.0.1]:42585 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gebBL-0003qt-R7 for patchwork-qemu-devel@patchwork.kernel.org; Wed, 02 Jan 2019 02:43:15 -0500 Received: from eggs.gnu.org ([208.118.235.92]:43843) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gebAh-0003Kc-3k for qemu-devel@nongnu.org; Wed, 02 Jan 2019 02:42:35 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gebAd-0003xa-Qm for qemu-devel@nongnu.org; Wed, 02 Jan 2019 02:42:34 -0500 Received: from m12-18.163.com ([220.181.12.18]:53723) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gebAd-0003vT-47 for qemu-devel@nongnu.org; Wed, 02 Jan 2019 02:42:31 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id; bh=6fXUWSMqgWIhcplfLG 9Cu5GRmOQhbkJJDBbwttP7V5o=; b=pJ51JJ0JD/1hRHQJBi5BMkZ/vGwKZb4A8o 2ibn0SzeTRUpoztrnmTbsqwTkTMS3d5Kr8D/FMWvX0w5pDHqcHETQz4yaqaFiqcc 0E+8Yi35zOTkTKulwVOPKJnud+z3oEYrEGGr/azooQdsIfg68QgtRpMUUPqDyiNb 6zx0SLhBA= Received: from localhost.localdomain (unknown [183.134.169.2]) by smtp14 (Coremail) with SMTP id EsCowAA3f21SayxcRM0JHw--.50850S2; Wed, 02 Jan 2019 15:42:12 +0800 (CST) From: Li Qiang To: ehabkost@redhat.com, richard.henderson@linaro.org, imammedo@redhat.com, cota@braap.org, philmd@redhat.com, pbonzini@redhat.com Date: Tue, 1 Jan 2019 23:41:14 -0800 Message-Id: <20190102074114.26988-1-liq3ea@163.com> X-Mailer: git-send-email 2.17.1 X-CM-TRANSID: EsCowAA3f21SayxcRM0JHw--.50850S2 X-Coremail-Antispam: 1Uf129KBjvdXoW7GF1fJFy5Xr4kJrykJF1UZFb_yoWxZwb_A3 WSvF1kWr18u3W7Kr1jy3WfZr1rG3sYvF1Yyw4Iya4kAw43Jwn0k3yv9a4xXa1fW3y3AFy3 trZIyFyYyF17JjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IUURBT3UUUUU== X-Originating-IP: [183.134.169.2] X-CM-SenderInfo: 5oltjvrd6rljoofrz/xtbBZgYwbVaDzkuwcwABsv X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 220.181.12.18 Subject: [Qemu-devel] [PATCH] qom: cpu: destroy work_mutex in cpu_common_finalize X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Li Qiang , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP Commit 376692b9dc6(cpus: protect work list with work_mutex) initialize a work_mutex in cpu_common_initfn, however forget to destroy it. This will cause resource leak when hotunplug cpu or hotplug cpu fails. Signed-off-by: Li Qiang Reviewed-by: Philippe Mathieu-Daudé --- qom/cpu.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/qom/cpu.c b/qom/cpu.c index 9ad1372d57..367ebf9d61 100644 --- a/qom/cpu.c +++ b/qom/cpu.c @@ -380,6 +380,9 @@ static void cpu_common_initfn(Object *obj) static void cpu_common_finalize(Object *obj) { + CPUState *cpu = CPU(obj); + + qemu_mutex_destroy(&cpu->work_mutex); } static int64_t cpu_common_get_arch_id(CPUState *cpu)