From nobody Sun Feb 8 20:34:48 2026 Delivered-To: importer@patchew.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; dmarc=pass(p=none dis=none) header.from=nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1659962700; cv=none; d=zohomail.com; s=zohoarc; b=EyGZNejZBDPMtZX9YDKr62q3KRi9QfKjCtLmv2CkZUQq5YNM23gvaGLaMlzZVo4YXhLy9NGV22Rz1GQz0GNj2KvfOVOW+KItE36HK9FSIdjWQ/CTICGiZQKWcvjpiT/I9xURjWBmchG5rHtNwJu+ty0M15AyNcJ/lJZYpf6iXEk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1659962700; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=KE46+3dV2XcNviCXx7/DPQTfrtFFNky6KZMmcMxEhKY=; b=V2e0mHezOWOI6GLHXo7vQQ3qQJ9Nxksrur5x41cSta4s8F4/w0gKa0haKqZRL+3SBFoWhfq6gRMSeFl2O5ozkMKW0KmvyujgkGSajUyEZnaeydiBkxgos+9zmTRJ5VXc4AFtBQS3xKqubqIPxfh6wFgfkFrNJ0bwbI6eEVq3wFw= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 165996269967885.26736093921147; Mon, 8 Aug 2022 05:44:59 -0700 (PDT) Received: from localhost ([::1]:35620 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oL27u-0001cd-4s for importer@patchew.org; Mon, 08 Aug 2022 08:44:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45688) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oL1lB-0002Wf-HU for qemu-devel@nongnu.org; Mon, 08 Aug 2022 08:21:29 -0400 Received: from frasgout.his.huawei.com ([185.176.79.56]:2666) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oL1lA-00046h-1h for qemu-devel@nongnu.org; Mon, 08 Aug 2022 08:21:29 -0400 Received: from fraeml701-chm.china.huawei.com (unknown [172.18.147.201]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4M1ZxJ6jN6z67n9K; Mon, 8 Aug 2022 20:18:44 +0800 (CST) Received: from lhrpeml500005.china.huawei.com (7.191.163.240) by fraeml701-chm.china.huawei.com (10.206.15.50) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2375.24; Mon, 8 Aug 2022 14:21:24 +0200 Received: from SecurePC-101-06.china.huawei.com (10.122.247.231) by lhrpeml500005.china.huawei.com (7.191.163.240) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Mon, 8 Aug 2022 13:21:23 +0100 To: , "Michael S . Tsirkin" , "Peter Maydell" , Igor Mammedov CC: , , "Shameerali Kolothum Thodi" , Ben Widawsky , Paolo Bonzini Subject: [PATCH 1/2] hw/cxl: Fix memory leak in error paths Date: Mon, 8 Aug 2022 13:20:50 +0100 Message-ID: <20220808122051.14822-2-Jonathan.Cameron@huawei.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220808122051.14822-1-Jonathan.Cameron@huawei.com> References: <20220808122051.14822-1-Jonathan.Cameron@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.122.247.231] X-ClientProxiedBy: lhrpeml100005.china.huawei.com (7.191.160.25) To lhrpeml500005.china.huawei.com (7.191.163.240) X-CFilter-Loop: Reflected 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; Received-SPF: pass client-ip=185.176.79.56; envelope-from=jonathan.cameron@huawei.com; helo=frasgout.his.huawei.com X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Reply-to: Jonathan Cameron From: Jonathan Cameron via X-ZM-MESSAGEID: 1659962702755100001 Content-Type: text/plain; charset="utf-8" Use g_autofree to free the CXLFixedWindow structure if an error occurs in configuration before we have added to the list (via g_steal_pointer()) Fix Coverity CID: 1488872 Reported-by: Peter Maydell Signed-off-by: Jonathan Cameron --- hw/cxl/cxl-host.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hw/cxl/cxl-host.c b/hw/cxl/cxl-host.c index 483d8eb13f..faa68ef038 100644 --- a/hw/cxl/cxl-host.c +++ b/hw/cxl/cxl-host.c @@ -26,7 +26,7 @@ static void cxl_fixed_memory_window_config(CXLState *cxl_= state, CXLFixedMemoryWindowOptions *ob= ject, Error **errp) { - CXLFixedWindow *fw =3D g_malloc0(sizeof(*fw)); + g_autofree CXLFixedWindow *fw =3D g_malloc0(sizeof(*fw)); strList *target; int i; =20 @@ -64,7 +64,8 @@ static void cxl_fixed_memory_window_config(CXLState *cxl_= state, fw->enc_int_gran =3D 0; } =20 - cxl_state->fixed_windows =3D g_list_append(cxl_state->fixed_windows, f= w); + cxl_state->fixed_windows =3D g_list_append(cxl_state->fixed_windows, + g_steal_pointer(&fw)); =20 return; } --=20 2.32.0 From nobody Sun Feb 8 20:34:48 2026 Delivered-To: importer@patchew.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; dmarc=pass(p=none dis=none) header.from=nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1659962175; cv=none; d=zohomail.com; s=zohoarc; b=gKYCre8LYy15/fZFCWdVJgVC5kY4DDCbrcS3H41xKKLkJg7O9Cc0cisTeybNmGhOkUaZf/qQfUNkpTLl6IXmr4NcFKD7HcZ4KcS3uwTr8Si+fgTvA/YLsZ4zGc0QTYpK1hy55IwkzzozQY0BHkWHktWrUJ6eCEli9QTotp/5Wp8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1659962175; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=cLAYFV0O35tsnKcgIooagAVzHTcMHfdR3GAjR0KdbNU=; b=N52UPl9tM3bB/An7YWePHhARRcOb3S+K2ZrSW4J4i/0l0Abwss2LcRbT7ZYog9fwN+K6Gtrxjhy0lRXq1zdTHCckyWlTevfft+1exEGiq0xhlgM9HAwsI2bwCRsbDCzS021HGGZo2ael2Vn5jX6FM/o/oK4aapi4lP2Y/1iRlnE= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 16599621752321017.0429470569677; Mon, 8 Aug 2022 05:36:15 -0700 (PDT) Received: from localhost ([::1]:48110 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oL1zR-0007WM-TZ for importer@patchew.org; Mon, 08 Aug 2022 08:36:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45810) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oL1lf-0002r5-1z for qemu-devel@nongnu.org; Mon, 08 Aug 2022 08:22:00 -0400 Received: from frasgout.his.huawei.com ([185.176.79.56]:2667) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oL1lc-0004CZ-Oa for qemu-devel@nongnu.org; Mon, 08 Aug 2022 08:21:58 -0400 Received: from fraeml744-chm.china.huawei.com (unknown [172.18.147.207]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4M1Zvs3YTCz67NKZ; Mon, 8 Aug 2022 20:17:29 +0800 (CST) Received: from lhrpeml500005.china.huawei.com (7.191.163.240) by fraeml744-chm.china.huawei.com (10.206.15.225) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Mon, 8 Aug 2022 14:21:54 +0200 Received: from SecurePC-101-06.china.huawei.com (10.122.247.231) by lhrpeml500005.china.huawei.com (7.191.163.240) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Mon, 8 Aug 2022 13:21:54 +0100 To: , "Michael S . Tsirkin" , "Peter Maydell" , Igor Mammedov CC: , , "Shameerali Kolothum Thodi" , Ben Widawsky , Paolo Bonzini Subject: [PATCH 2/2] hw/cxl: Fix wrong query of target ports Date: Mon, 8 Aug 2022 13:20:51 +0100 Message-ID: <20220808122051.14822-3-Jonathan.Cameron@huawei.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220808122051.14822-1-Jonathan.Cameron@huawei.com> References: <20220808122051.14822-1-Jonathan.Cameron@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.122.247.231] X-ClientProxiedBy: lhrpeml100004.china.huawei.com (7.191.162.219) To lhrpeml500005.china.huawei.com (7.191.163.240) X-CFilter-Loop: Reflected 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; Received-SPF: pass client-ip=185.176.79.56; envelope-from=jonathan.cameron@huawei.com; helo=frasgout.his.huawei.com X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Reply-to: Jonathan Cameron From: Jonathan Cameron via X-ZM-MESSAGEID: 1659962178377100001 Content-Type: text/plain; charset="utf-8" Two issues were present in this code: 1) Check on which register to look in was inverted. 2) Both branches use the _LO register. Whilst here moved to extract32() rather than hand rolling the field extraction as simpler and hopefully less error prone. Fixes Coverity CID: 1488873 Reported-by: Peter Maydell Signed-off-by: Jonathan Cameron --- hw/cxl/cxl-host.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/hw/cxl/cxl-host.c b/hw/cxl/cxl-host.c index faa68ef038..1adf61231a 100644 --- a/hw/cxl/cxl-host.c +++ b/hw/cxl/cxl-host.c @@ -104,7 +104,6 @@ static bool cxl_hdm_find_target(uint32_t *cache_mem, hw= addr addr, uint32_t ctrl; uint32_t ig_enc; uint32_t iw_enc; - uint32_t target_reg; uint32_t target_idx; =20 ctrl =3D cache_mem[R_CXL_HDM_DECODER0_CTRL]; @@ -116,14 +115,13 @@ static bool cxl_hdm_find_target(uint32_t *cache_mem, = hwaddr addr, iw_enc =3D FIELD_EX32(ctrl, CXL_HDM_DECODER0_CTRL, IW); target_idx =3D (addr / cxl_decode_ig(ig_enc)) % (1 << iw_enc); =20 - if (target_idx > 4) { - target_reg =3D cache_mem[R_CXL_HDM_DECODER0_TARGET_LIST_LO]; - target_reg >>=3D target_idx * 8; + if (target_idx < 4) { + *target =3D extract32(cache_mem[R_CXL_HDM_DECODER0_TARGET_LIST_LO], + target_idx * 8, 8); } else { - target_reg =3D cache_mem[R_CXL_HDM_DECODER0_TARGET_LIST_LO]; - target_reg >>=3D (target_idx - 4) * 8; + *target =3D extract32(cache_mem[R_CXL_HDM_DECODER0_TARGET_LIST_HI], + (target_idx - 4) * 8, 8); } - *target =3D target_reg & 0xff; =20 return true; } --=20 2.32.0