From nobody Thu Dec 26 12:40:24 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 173269314970847.584628747265356; Tue, 26 Nov 2024 23:39:09 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id F07BB1BF7; Wed, 27 Nov 2024 02:39:08 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 1B27F1BC0; Wed, 27 Nov 2024 02:38:54 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 056531B3D; Wed, 27 Nov 2024 02:38:51 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 783611B0A for ; Wed, 27 Nov 2024 02:38:50 -0500 (EST) Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-613-texAR2H7PVq-AEAO5pnD8w-1; Wed, 27 Nov 2024 02:38:48 -0500 Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 5541919560BA for ; Wed, 27 Nov 2024 07:38:47 +0000 (UTC) Received: from orkuz (unknown [10.43.3.115]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id D8799300019E for ; Wed, 27 Nov 2024 07:38:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-1.7 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1732693130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gBuNF0L/QziTG7N0PFazLnSpyko8eYp6uZ3hDBcK86A=; b=SO4BfZ19jkUhdE46mRgAJKgTh6d2Lbi6MwMNUgmdEoqdie4lBQenOMuL1GrcE5wb5nngBq Rf8E3ihAXdI8fhpASg/1uMBoETT7JpL7iIS1GEf6DQbpMh32xJms3ra68VauY+39U1ut2a c2yaEulkM/OJQtub1mUOWFZepPabrZI= X-MC-Unique: texAR2H7PVq-AEAO5pnD8w-1 X-Mimecast-MFC-AGG-ID: texAR2H7PVq-AEAO5pnD8w From: Jiri Denemark To: devel@lists.libvirt.org Subject: [PATCH] cpu: Check blockers in virCPUCompareUnusable only if they exist Date: Wed, 27 Nov 2024 08:38:41 +0100 Message-ID: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: yMRHMJtghpccKhTsw74_B1hO4oEdPHZipwanpEOwU0o_1732693127 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: 2NFPHIYJSMNIYDA4FBRKMAIMURJB7N2O X-Message-ID-Hash: 2NFPHIYJSMNIYDA4FBRKMAIMURJB7N2O X-MailFrom: jdenemar@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1732693152140019100 Content-Type: text/plain; charset="utf-8" virCPUCompareUnusable can be called with blockers =3D=3D NULL in case the CPU model itself is usable (i.e., QEMU reports an empty list of blockers), but the CPU definition contains some additional features which have to be checked. Fixes: v10.8.0-129-g5f8abbb7d0 Reported-by: Han Han Signed-off-by: Jiri Denemark Reviewed-by: Peter Krempa Tested-by: Han Han --- src/cpu/cpu.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/cpu/cpu.c b/src/cpu/cpu.c index 2b0d641e78..58fba3781c 100644 --- a/src/cpu/cpu.c +++ b/src/cpu/cpu.c @@ -201,11 +201,13 @@ virCPUCompareUnusable(virArch arch, char **blocker; size_t i; =20 - for (blocker =3D blockers; *blocker; blocker++) { - if (!(feat =3D virCPUDefFindFeature(cpu, *blocker)) || - feat->policy !=3D VIR_CPU_FEATURE_DISABLE) { - virBufferAddStr(&features, *blocker); - virBufferAddLit(&features, ", "); + if (blockers) { + for (blocker =3D blockers; *blocker; blocker++) { + if (!(feat =3D virCPUDefFindFeature(cpu, *blocker)) || + feat->policy !=3D VIR_CPU_FEATURE_DISABLE) { + virBufferAddStr(&features, *blocker); + virBufferAddLit(&features, ", "); + } } } =20 --=20 2.47.0