From nobody Fri Jan 9 08:48:47 2026 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; 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=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1766967051; cv=none; d=zohomail.com; s=zohoarc; b=groEOCNkl/oYvcVd8QNS8SsIaXrxA6SFDyhntvr8vYu3iQfBXOmD8/UIcvgLckxaI2mTQaIyqnYmhgmwymeAe3Qpe+XGbxBiTJ4nfeQRkxgSwsnEGj6vdeB1NYaNBJhSriIZHq/N7ir7uJ0oT21U3Fn0THpSVq7UbqiPJzhfbt8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766967051; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=sfnD47i6VVuRq0mLw7kUJ88ZO6ltjRxJfYqRqqw+Bds=; b=V2TKuZtRdLb9csySR59UgF+jyz12DRYbHhLdhJ5ZrgvbilPT8HXYLlBLRmJ2OdaHayemCRHBRt0k66UaTFhcz/hTxp9TEaKcDvke8tfjXJ0olpNAyb4kjt0cYrmY7uLw5cwYb2TGSy5Budx4JCZ4taZAla5aQdZFyLWRFXBxNpA= ARC-Authentication-Results: i=1; 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=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1766967051339372.0858076884016; Sun, 28 Dec 2025 16:10:51 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id 5748341C13; Sun, 28 Dec 2025 19:10:49 -0500 (EST) Received: from [172.19.199.83] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 75D4941C98; Sun, 28 Dec 2025 18:55:28 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id 298EC417F2; Sun, 28 Dec 2025 18:34:45 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 0A947417EB for ; Sun, 28 Dec 2025 18:34:44 -0500 (EST) Received: from mx-prod-mc-05.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-398-Q-Xrtrs5NmGtCIJfCOv2vg-1; Sun, 28 Dec 2025 18:34:41 -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-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id E35971956080 for ; Sun, 28 Dec 2025 23:34:40 +0000 (UTC) Received: from harajuku.usersys.redhat.com.homenet.telecomitalia.it (unknown [10.45.224.19]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 2ECB030001A8 for ; Sun, 28 Dec 2025 23:34:39 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1766964883; 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: in-reply-to:in-reply-to:references:references; bh=sfnD47i6VVuRq0mLw7kUJ88ZO6ltjRxJfYqRqqw+Bds=; b=Qz8bWC8E4EhA1MzsfLY9x+3v2FcMO3KjLt6UM+nHkNeDnjxrsqasxDRZLRL1GIneOz7cuj 38vNnXXwx1LDzxl2bh8qReEkAZG61S7ezumd5I3Zb5uahNU1KAVQd7gapYy+cQ+ct4Bf64 NKlm+hpVgEC/0p11oA+vLJhjQOyWehI= X-MC-Unique: Q-Xrtrs5NmGtCIJfCOv2vg-1 X-Mimecast-MFC-AGG-ID: Q-Xrtrs5NmGtCIJfCOv2vg_1766964881 To: devel@lists.libvirt.org Subject: [PATCH 21/36] tests: Add firmware-auto-efi-format-mismatch-nvramtemplate Date: Mon, 29 Dec 2025 00:33:57 +0100 Message-ID: <20251228233412.1709869-22-abologna@redhat.com> In-Reply-To: <20251228233412.1709869-1-abologna@redhat.com> References: <20251228233412.1709869-1-abologna@redhat.com> 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: V-Ljhx2q002GcVmnHi61DRePTKfo2ey1vzItgcI6An8_1766964881 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: 2UU2GUOSHHWLLTC7P7Y3MZMAPS543IMZ X-Message-ID-Hash: 2UU2GUOSHHWLLTC7P7Y3MZMAPS543IMZ X-MailFrom: abologna@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Andrea Bolognani via Devel Reply-To: Andrea Bolognani X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1766967051960158500 Content-Type: text/plain; charset="utf-8"; x-default="true" This test case demonstrates an issue with the current implementation of firmware autoselection. While the test case passes, the outcome is not the desired one. The domain XML explicitly requests that the format for the firmware excutable is raw and the format for the NVRAM template is qcow2: since there are no firmware descriptors that satisfy these requirements, this should result in a failure. Instead, the second request is simply ignored and a firmware that uses raw format NVRAM template is selected. The issue will be addressed in an upcoming commit. Signed-off-by: Andrea Bolognani --- ...-mismatch-nvramtemplate.x86_64-latest.args | 37 +++++++++++++++++ ...t-mismatch-nvramtemplate.x86_64-latest.xml | 41 +++++++++++++++++++ ...auto-efi-format-mismatch-nvramtemplate.xml | 19 +++++++++ tests/qemuxmlconftest.c | 1 + 4 files changed, 98 insertions(+) create mode 100644 tests/qemuxmlconfdata/firmware-auto-efi-format-mismatch= -nvramtemplate.x86_64-latest.args create mode 100644 tests/qemuxmlconfdata/firmware-auto-efi-format-mismatch= -nvramtemplate.x86_64-latest.xml create mode 100644 tests/qemuxmlconfdata/firmware-auto-efi-format-mismatch= -nvramtemplate.xml diff --git a/tests/qemuxmlconfdata/firmware-auto-efi-format-mismatch-nvramt= emplate.x86_64-latest.args b/tests/qemuxmlconfdata/firmware-auto-efi-format= -mismatch-nvramtemplate.x86_64-latest.args new file mode 100644 index 0000000000..e7c9110c95 --- /dev/null +++ b/tests/qemuxmlconfdata/firmware-auto-efi-format-mismatch-nvramtemplate= .x86_64-latest.args @@ -0,0 +1,37 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/var/lib/libvirt/qemu/domain--1-guest \ +USER=3Dtest \ +LOGNAME=3Dtest \ +XDG_DATA_HOME=3D/var/lib/libvirt/qemu/domain--1-guest/.local/share \ +XDG_CACHE_HOME=3D/var/lib/libvirt/qemu/domain--1-guest/.cache \ +XDG_CONFIG_HOME=3D/var/lib/libvirt/qemu/domain--1-guest/.config \ +/usr/bin/qemu-system-x86_64 \ +-name guest=3Dguest,debug-threads=3Don \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/va= r/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.sec= boot.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"disca= rd":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver"= :"raw","file":"libvirt-pflash0-storage"}' \ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/qemu/nvram/guest_= VARS.fd","node-name":"libvirt-pflash1-storage","read-only":false}' \ +-machine pc-q35-10.0,usb=3Doff,smm=3Don,dump-guest-core=3Doff,memory-backe= nd=3Dpc.ram,pflash0=3Dlibvirt-pflash0-format,pflash1=3Dlibvirt-pflash1-stor= age,acpi=3Don \ +-accel kvm \ +-cpu qemu64 \ +-global driver=3Dcfi.pflash01,property=3Dsecure,value=3Don \ +-m size=3D1048576k \ +-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":1073741824}= ' \ +-overcommit mem-lock=3Doff \ +-smp 1,sockets=3D1,cores=3D1,threads=3D1 \ +-uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,fd=3D1729,server=3Don,wait=3Doff \ +-mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dcontrol \ +-rtc base=3Dutc \ +-no-shutdown \ +-boot strict=3Don \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-global ICH9-LPC.noreboot=3Doff \ +-watchdog-action reset \ +-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,resource= control=3Ddeny \ +-msg timestamp=3Don diff --git a/tests/qemuxmlconfdata/firmware-auto-efi-format-mismatch-nvramt= emplate.x86_64-latest.xml b/tests/qemuxmlconfdata/firmware-auto-efi-format-= mismatch-nvramtemplate.x86_64-latest.xml new file mode 100644 index 0000000000..f4df8c07ed --- /dev/null +++ b/tests/qemuxmlconfdata/firmware-auto-efi-format-mismatch-nvramtemplate= .x86_64-latest.xml @@ -0,0 +1,41 @@ + + guest + 63840878-0deb-4095-97e6-fc444d9bc9fa + 1048576 + 1048576 + 1 + + hvm + + + + + /usr/share/edk2/ovmf/OVMF_CODE.secboot.fd + /var/lib/libvirt/qemu/nvram/guest_VARS.fd + + + + + + + + qemu64 + + + destroy + restart + destroy + + /usr/bin/qemu-system-x86_64 + + +
+ + + + +