From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137416; cv=none; d=zohomail.com; s=zohoarc; b=H0wXP/4d71Lry+ZXMCPj62jx2Mrn8mfkVHGkKia4F8mIt+qWJmPpWdWhtKnRXmiAbbancRmyBINILkud0LLtSkZN4KrCjSHS7L1OhizTJkMhaWTb489ewKlB2OA7pLeNEP2UaGEZrP3HsDlBDZOdxSu5lB+N/g0D09xdS1o0PDc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137416; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=123pjNEHzCkIAWUZoFvGci86utv4Qh+kMiJ8nnUWnD4=; b=PlbQ8K6LI55Je8owL9U0/TghT0RuNYqYmrXAxnRUcgb3cQpY+NTCf1ifQj/Z20UOaAcHc9TDWFUlUSE36iBR5+h3wKF5ksVYpMoQqYTjmAXL9nhRREL4dRvctQYvl7cmUakyyDzg70CS70Tc27aqhvutet8s+Kltu4aXgPoWJbM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137416273383.31341261948285; Fri, 11 Sep 2026 07:36:56 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417045.1645945 (Exim 4.92) (envelope-from ) id 1x52Mt-00039b-VU; Fri, 11 Sep 2026 14:36:43 +0000 Received: by outflank-mailman (output) from mailman id 1417045.1645945; Fri, 11 Sep 2026 14:36:43 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52Mt-00039U-SO; Fri, 11 Sep 2026 14:36:43 +0000 Received: by outflank-mailman (input) for mailman id 1417045; Fri, 11 Sep 2026 14:36:42 +0000 Received: from mx.expurgate.net ([194.145.224.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52Ms-00038N-7X for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:36:42 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52Mr-008jWV-Kg for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:36:41 +0200 Received: from [10.42.69.8] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa411f6-bab6-0a2a0a5309dd-0a2a4508c95e-8 for ; Fri, 11 Sep 2026 16:36:41 +0200 Received: from [170.10.133.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa411f8-f659-0a2a45080019-aa0a857c86ff-3 for ; Fri, 11 Sep 2026 16:36:41 +0200 Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-518-u93WP60COd6io4ZK1zb54w-1; Fri, 11 Sep 2026 10:36:34 -0400 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-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 00B5918005A0; Fri, 11 Sep 2026 14:36:33 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id F055C300022B; Fri, 11 Sep 2026 14:36:30 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137400; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=123pjNEHzCkIAWUZoFvGci86utv4Qh+kMiJ8nnUWnD4=; b=XR8EdWbjvWt329IgwxmEKX0FJu4gPqCn5pBWP5b3aJ0qT062x3v8bxUU2w63T9wv5Z9ymX h/mt0mXd5Q4qUOnm/ZdF/tWDoVrb/gSju8iM6Dlu54YIE7wKK/Ta3JAFvy5TF7O6IF1qMW BWedGjzl3xlezd/6SjXeWIuS8Qn7k+A= X-MC-Unique: u93WP60COd6io4ZK1zb54w-1 X-Mimecast-MFC-AGG-ID: u93WP60COd6io4ZK1zb54w_1789137393 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 01/28] hw: mark secure machines for x86, s390, ppc, arm, loonarch, riscv Date: Fri, 11 Sep 2026 15:36:00 +0100 Message-ID: <20260911143627.2743803-2-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: jJpKNHBwSopvzXa0Yzzm71ol4Lcc1TLOEX7UdMH55l8_1789137393 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-c1860d/1789137401-D534D87B-4857C95E/0/0 X-purgate-type: clean X-purgate-size: 7653 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137417551158501 The versioned machine types are typically present for use in virtualization use cases and can be expected to provide a security barrier. The only exceptions are the m68k versioned machine types which are only used with TCG. There are also a handful of other machines declared secure in docs/system/security.rst, notably the Xen machine variants and microvm. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/arm/virt.c | 1 + hw/arm/xen-pvh.c | 1 + hw/i386/microvm.c | 1 + hw/i386/pc_piix.c | 4 ++-- hw/i386/xen/xen-pvh.c | 1 + hw/loongarch/virt.c | 2 ++ hw/ppc/spapr.c | 1 + hw/riscv/virt.c | 1 + hw/s390x/s390-virtio-ccw.c | 1 + hw/xen/xen-pvh-common.c | 1 + hw/xenpv/xen_machine_pv.c | 2 +- include/hw/i386/pc.h | 1 + 12 files changed, 14 insertions(+), 3 deletions(-) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 0871a35e11..e62cd0055b 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -132,6 +132,7 @@ static void arm_virt_compat_default_set(MachineClass *m= c) .name =3D MACHINE_VER_TYPE_NAME("virt", __VA_ARGS__), \ .parent =3D TYPE_VIRT_MACHINE, \ .class_init =3D MACHINE_VER_SYM(class_init, virt, __VA_ARGS__), \ + .secure =3D true, \ }; \ static void MACHINE_VER_SYM(register, virt, __VA_ARGS__)(void) \ { \ diff --git a/hw/arm/xen-pvh.c b/hw/arm/xen-pvh.c index f05956c166..6b85eced1b 100644 --- a/hw/arm/xen-pvh.c +++ b/hw/arm/xen-pvh.c @@ -95,6 +95,7 @@ static const TypeInfo xen_arm_machine_type =3D { .class_init =3D xen_arm_machine_class_init, .instance_size =3D sizeof(XenPVHMachineState), .instance_init =3D xen_arm_instance_init, + .secure =3D true, }; =20 static void xen_arm_machine_register_types(void) diff --git a/hw/i386/microvm.c b/hw/i386/microvm.c index e7adab7d2e..9256b31a60 100644 --- a/hw/i386/microvm.c +++ b/hw/i386/microvm.c @@ -736,6 +736,7 @@ static const TypeInfo microvm_machine_info =3D { .instance_init =3D microvm_machine_initfn, .class_size =3D sizeof(MicrovmMachineClass), .class_init =3D microvm_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_HOTPLUG_HANDLER }, { } diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index a929cc4dec..b6cd6dc5aa 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -672,6 +672,6 @@ static void xenfv_machine_4_2_options(MachineClass *m) m->default_machine_opts =3D "accel=3Dxen,suppress-vmdesc=3Don"; } =20 -DEFINE_PC_MACHINE(xenfv_4_2, "xenfv-4.2", pc_xen_hvm_init, - xenfv_machine_4_2_options); +DEFINE_SECURE_PC_MACHINE(xenfv_4_2, "xenfv-4.2", pc_xen_hvm_init, + xenfv_machine_4_2_options); #endif diff --git a/hw/i386/xen/xen-pvh.c b/hw/i386/xen/xen-pvh.c index ab90c83a83..d81575b4c9 100644 --- a/hw/i386/xen/xen-pvh.c +++ b/hw/i386/xen/xen-pvh.c @@ -115,6 +115,7 @@ static const TypeInfo xen_pvh_x86_machine_type =3D { .class_init =3D xen_pvh_machine_class_init, .instance_init =3D xen_pvh_instance_init, .instance_size =3D sizeof(XenPVHx86State), + .secure =3D true, }; =20 static void xen_pvh_machine_register_types(void) diff --git a/hw/loongarch/virt.c b/hw/loongarch/virt.c index 9cc79929a8..0501512a24 100644 --- a/hw/loongarch/virt.c +++ b/hw/loongarch/virt.c @@ -1553,6 +1553,7 @@ static void virt_class_init(ObjectClass *oc, const vo= id *data) .name =3D MACHINE_VER_TYPE_NAME("virt", __VA_ARGS__), \ .parent =3D TYPE_LOONGARCH_VIRT_MACHINE, \ .class_init =3D MACHINE_VER_SYM(class_init, virt, __VA_ARGS__), \ + .secure =3D true, \ }; \ static void MACHINE_VER_SYM(register, virt, __VA_ARGS__)(void) \ { \ @@ -1583,6 +1584,7 @@ static const TypeInfo virt_machine_info =3D { .name =3D TYPE_LOONGARCH_VIRT_MACHINE, .parent =3D TYPE_MACHINE, .abstract =3D true, + .secure =3D true, .instance_size =3D sizeof(LoongArchVirtMachineState), .class_init =3D virt_class_init, .instance_init =3D virt_initfn, diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 20e024907b..4e05e8b71b 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -4750,6 +4750,7 @@ static void spapr_machine_latest_class_options(Machin= eClass *mc) .name =3D MACHINE_VER_TYPE_NAME("pseries", __VA_ARGS__), \ .parent =3D TYPE_SPAPR_MACHINE, \ .class_init =3D MACHINE_VER_SYM(class_init, spapr, __VA_ARGS__), \ + .secure =3D true, \ }; \ static void MACHINE_VER_SYM(register, spapr, __VA_ARGS__)(void) \ { \ diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index f3a1cc5ba3..9d146205b3 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -1200,6 +1200,7 @@ static const TypeInfo virt_machine_typeinfo =3D { .name =3D MACHINE_TYPE_NAME("virt"), .parent =3D TYPE_MACHINE, .class_init =3D virt_machine_class_init, + .secure =3D true, .instance_init =3D virt_machine_instance_init, .instance_finalize =3D virt_machine_instance_finalize, .instance_size =3D sizeof(RISCVVirtState), diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c index 17266779a6..c9a646be8b 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -973,6 +973,7 @@ static const TypeInfo ccw_machine_info =3D { .name =3D MACHINE_VER_TYPE_NAME("s390-ccw-virtio", __VA_ARGS__), = \ .parent =3D TYPE_S390_CCW_MACHINE, = \ .class_init =3D MACHINE_VER_SYM(class_init, ccw, __VA_ARGS__), = \ + .secure =3D true, = \ }; = \ static void MACHINE_VER_SYM(register, ccw, __VA_ARGS__)(void) = \ { = \ diff --git a/hw/xen/xen-pvh-common.c b/hw/xen/xen-pvh-common.c index cca37202ff..939e85317d 100644 --- a/hw/xen/xen-pvh-common.c +++ b/hw/xen/xen-pvh-common.c @@ -504,6 +504,7 @@ static const TypeInfo xen_pvh_info =3D { .name =3D TYPE_XEN_PVH_MACHINE, .parent =3D TYPE_MACHINE, .abstract =3D true, + .secure =3D true, .instance_size =3D sizeof(XenPVHMachineState), .instance_init =3D xen_pvh_instance_init, .class_size =3D sizeof(XenPVHMachineClass), diff --git a/hw/xenpv/xen_machine_pv.c b/hw/xenpv/xen_machine_pv.c index c406821c34..e0620a096e 100644 --- a/hw/xenpv/xen_machine_pv.c +++ b/hw/xenpv/xen_machine_pv.c @@ -69,4 +69,4 @@ static void xenpv_machine_init(MachineClass *mc) mc->default_machine_opts =3D "accel=3Dxen"; } =20 -DEFINE_MACHINE("xenpv", xenpv_machine_init) +DEFINE_SECURE_MACHINE("xenpv", xenpv_machine_init) diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index d5dc79df17..45b92780d3 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -325,6 +325,7 @@ extern const size_t pc_compat_4_1_len; .name =3D MACHINE_VER_TYPE_NAME(namestr, __VA_ARGS__), \ .parent =3D TYPE_PC_MACHINE, \ .class_init =3D MACHINE_VER_SYM(class_init, namesym, __VA_ARGS__),= \ + .secure =3D true, \ }; \ static void MACHINE_VER_SYM(register, namesym, __VA_ARGS__)(void) \ { \ --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137421; cv=none; d=zohomail.com; s=zohoarc; b=jGNG/pk99CLpaZOUkg6Yys/+Siih6GulMfV+nswyxb4oRLP5YUwqCZ8pmzV0WkfbZZH3TbA3rlTPNLI+wdPX11GNtSOv8MWaHirAz0Q/O0oJwKe5F0KLcuL18sO/6/LGMmHxyfkZhDVe5XIXAvJmdb+EEck14jpkn3gj0l3UgoI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137421; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=mS2d1sWvkJvfrpBNzSThHFJjRCwDwl0JUnHIN1+hoNI=; b=GbcoYpll/8C2ac5d1tyi/VqaFjOvOs9R+9HUa6NpRBRVGtDyPlvExraBmCRc7T7+KpBttafqAzUHdCdsbhVTO/lko23mNoi8W1aWjfG8YnrexmRISfmAmhaRkcPWXhRvRHTQEcdmEJPy5i5crBjWZ84mxJL0tCAYM2Vp291+65M= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137421720496.18022829022914; Fri, 11 Sep 2026 07:37:01 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417046.1645950 (Exim 4.92) (envelope-from ) id 1x52Mu-0003C4-AI; Fri, 11 Sep 2026 14:36:44 +0000 Received: by outflank-mailman (output) from mailman id 1417046.1645950; Fri, 11 Sep 2026 14:36:44 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52Mu-0003B9-3E; Fri, 11 Sep 2026 14:36:44 +0000 Received: by outflank-mailman (input) for mailman id 1417046; Fri, 11 Sep 2026 14:36:43 +0000 Received: from mx.expurgate.net ([194.145.224.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52Mt-000391-3w for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:36:43 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52Ms-00EPyQ-H0 for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:36:42 +0200 Received: from [10.42.69.9] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa411f8-8faa-0a2a0a5109dd-0a2a4509ca7a-4 for ; Fri, 11 Sep 2026 16:36:42 +0200 Received: from [170.10.133.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa411f9-be1a-0a2a45090019-aa0a857cdf59-3 for ; Fri, 11 Sep 2026 16:36:42 +0200 Received: from mx-prod-mc-01.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-126-jsyPwnXzMwa2-qmFeiK4Mg-1; Fri, 11 Sep 2026 10:36:36 -0400 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-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 4400F195399C; Fri, 11 Sep 2026 14:36:35 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 52E2B3000229; Fri, 11 Sep 2026 14:36:33 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137401; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=mS2d1sWvkJvfrpBNzSThHFJjRCwDwl0JUnHIN1+hoNI=; b=B25biY9Qzz994SWK9i9RLFyBkOgvaIlxo4DbdGuGN3nKQTwvkrm6TxDyLJo76IJKVkyF7a VHdtj8YKxQuDPWZzEkS8UeTKyj1lvv9zz0ZIF/v5fzrPbymYafc2eFpUBEBqTD+egvoT6V Mj5G7eHHaVR2T9xodFAlrfsKvUH0K18= X-MC-Unique: jsyPwnXzMwa2-qmFeiK4Mg-1 X-Mimecast-MFC-AGG-ID: jsyPwnXzMwa2-qmFeiK4Mg_1789137395 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 02/28] accel: mark kvm and xen accelerators as secure Date: Fri, 11 Sep 2026 15:36:01 +0100 Message-ID: <20260911143627.2743803-3-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: YHsL0aKHNqEwJd45n2MAn31sdpwudyA6UkGfIyKObn0_1789137395 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-bad1c0/1789137402-BFAD0034-EE2B1D8F/0/0 X-purgate-type: clean X-purgate-size: 3224 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137423396158500 TCG is too complex to be considered to provide a security boundary for malicious guest workloads. QTest is only used for functional testing and thus is not relevant to mark secure. KVM and Xen are servicing virtualization use cases which must provide security and actively maintained. While HVF would be in scope conceptually, it is not sufficiently mature or maintained to claim a security boundary at this time. Signed-off-by: Daniel P. Berrang=C3=A9 --- accel/accel-common.c | 2 ++ accel/accel-system.c | 1 + accel/kvm/kvm-accel-ops.c | 1 + accel/kvm/kvm-all.c | 1 + accel/xen/xen-all.c | 2 ++ 5 files changed, 7 insertions(+) diff --git a/accel/accel-common.c b/accel/accel-common.c index 00a400243f..1d993f0ad8 100644 --- a/accel/accel-common.c +++ b/accel/accel-common.c @@ -125,6 +125,7 @@ static const TypeInfo accel_types[] =3D { .class_size =3D sizeof(AccelClass), .instance_size =3D sizeof(AccelState), .abstract =3D true, + .secure =3D true, }, }; =20 @@ -137,6 +138,7 @@ static void register_accel_target_type(void) .name =3D name, .parent =3D TYPE_OBJECT, .abstract =3D true, + .secure =3D true, .class_size =3D sizeof(AccelCPUClass), }; =20 diff --git a/accel/accel-system.c b/accel/accel-system.c index 1325b23864..f3f31bc666 100644 --- a/accel/accel-system.c +++ b/accel/accel-system.c @@ -118,6 +118,7 @@ static const TypeInfo accel_ops_type_info =3D { .name =3D TYPE_ACCEL_OPS, .parent =3D TYPE_OBJECT, .abstract =3D true, + .secure =3D true, .class_size =3D sizeof(AccelOpsClass), .class_init =3D accel_ops_class_init, }; diff --git a/accel/kvm/kvm-accel-ops.c b/accel/kvm/kvm-accel-ops.c index c8e7aa3870..f05d41a837 100644 --- a/accel/kvm/kvm-accel-ops.c +++ b/accel/kvm/kvm-accel-ops.c @@ -119,6 +119,7 @@ static const TypeInfo kvm_accel_ops_type =3D { .parent =3D TYPE_ACCEL_OPS, .class_init =3D kvm_accel_ops_class_init, .abstract =3D true, + .secure =3D true, }; =20 static void kvm_accel_ops_register_types(void) diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 83cbd120a8..af886aa28c 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -4328,6 +4328,7 @@ static const TypeInfo kvm_accel_type =3D { .instance_finalize =3D kvm_accel_finalize, .class_init =3D kvm_accel_class_init, .instance_size =3D sizeof(KVMState), + .secure =3D true, }; =20 static void kvm_type_init(void) diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c index bb2d02cb22..937e0e947d 100644 --- a/accel/xen/xen-all.c +++ b/accel/xen/xen-all.c @@ -147,6 +147,7 @@ static const TypeInfo xen_accel_type =3D { .name =3D TYPE_XEN_ACCEL, .parent =3D TYPE_ACCEL, .class_init =3D xen_accel_class_init, + .secure =3D true, }; =20 static void xen_accel_ops_class_init(ObjectClass *oc, const void *data) @@ -163,6 +164,7 @@ static const TypeInfo xen_accel_ops_type =3D { .parent =3D TYPE_ACCEL_OPS, .class_init =3D xen_accel_ops_class_init, .abstract =3D true, + .secure =3D true, }; =20 static void xen_type_init(void) --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137421; cv=none; d=zohomail.com; s=zohoarc; b=guvqBnfcU9UAoLsTSsl2Xt1FCOmwVF6fgrQ88d14KYeYTiDQ7FuLf0cjSZSsVf9ksmHVIEAubCxtg29SS+GqdqH1gqR/lkOL1tieOtjEAxLC08VGsnsjT9LWZTPYdLwSaLoDoKBhU+CimtiVeYniwb89lfo4sjLY82YltHITKiw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137421; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=aVwGPfL+WLnUP8giUYwqDBNb4zonggDSk3sHSYr9pFM=; b=K7Eqf4XfTTscrt/vknj0PFqtZYPvh/FpPvp+HzRbCUD1c70dtx6I+qbLsyHFzkuHjcEdj92R2UED25On1cBiPg8gTuVbAZuqf547zHmQvnjq+DaDWfJ29WHy1cxOPsRscRdvUzeLlA28SA3Fn8T3b5m3XBPUce/lu04bRDmPqIA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 178913742128983.0889580937403; Fri, 11 Sep 2026 07:37:01 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417047.1645956 (Exim 4.92) (envelope-from ) id 1x52Mu-0003FM-Io; Fri, 11 Sep 2026 14:36:44 +0000 Received: by outflank-mailman (output) from mailman id 1417047.1645956; Fri, 11 Sep 2026 14:36:44 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52Mu-0003ER-AV; Fri, 11 Sep 2026 14:36:44 +0000 Received: by outflank-mailman (input) for mailman id 1417047; Fri, 11 Sep 2026 14:36:43 +0000 Received: from mx.expurgate.net ([194.145.224.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52Mt-000396-Dc for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:36:43 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52Ms-00EPw8-QW for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:36:42 +0200 Received: from [10.42.69.7] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa411f2-2eae-0a2a0a5409dd-0a2a4507d898-14 for ; Fri, 11 Sep 2026 16:36:42 +0200 Received: from [170.10.129.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa411f9-b4ea-0a2a45070019-aa0a817ca483-3 for ; Fri, 11 Sep 2026 16:36:42 +0200 Received: from mx-prod-mc-01.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-635-oGNVjD9aMeyt3IjX5GvwDg-1; Fri, 11 Sep 2026 10:36:38 -0400 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-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 9196619540D3; Fri, 11 Sep 2026 14:36:37 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 95C273000229; Fri, 11 Sep 2026 14:36:35 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137401; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=aVwGPfL+WLnUP8giUYwqDBNb4zonggDSk3sHSYr9pFM=; b=QLZ3fYdWo4uUcoSpAKIfayVPZQJ8Zr8bFu9mlgB0cdHMlXHi9LtQ9VSnwb6Xf79s/jl576 R6QqHGxCCClCh+CkG4AFkERoJ7mbexJVCu+FrqIQVWXuZ+sIkY0tR4GYHeAegTUwC4fok6 R1VwYe+u4WSnTuoY7eaSmctk2QYX7ps= X-MC-Unique: oGNVjD9aMeyt3IjX5GvwDg-1 X-Mimecast-MFC-AGG-ID: oGNVjD9aMeyt3IjX5GvwDg_1789137397 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 03/28] hw: mark all virtio PCI devices as secure Date: Fri, 11 Sep 2026 15:36:02 +0100 Message-ID: <20260911143627.2743803-4-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: sKibLlbCUh-YD9421UNZra0ZmkXzFTqHWncGr04mDrE_1789137397 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-ef75cf/1789137402-364DBAE4-F17CDF5E/0/0 X-purgate-type: clean X-purgate-size: 3170 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137423421158500 These are all intended for use in a virtualization scenario and must provide a security boundary. This can be done for almost all virtio PCI devices by modifying the common type register helper. The virtio-gpu devices are unusual in not using the common virtio_pci_types_register() method, so need marking directly. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/display/virtio-gpu-pci-rutabaga.c | 1 + hw/display/virtio-gpu-pci.c | 3 ++- hw/virtio/virtio-pci.c | 3 +++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/hw/display/virtio-gpu-pci-rutabaga.c b/hw/display/virtio-gpu-p= ci-rutabaga.c index 4db77cb868..a8e5e1d96c 100644 --- a/hw/display/virtio-gpu-pci-rutabaga.c +++ b/hw/display/virtio-gpu-pci-rutabaga.c @@ -34,6 +34,7 @@ static const TypeInfo virtio_gpu_rutabaga_pci_info[] =3D { .parent =3D TYPE_VIRTIO_GPU_PCI_BASE, .instance_size =3D sizeof(VirtIOGPURutabagaPCI), .instance_init =3D virtio_gpu_rutabaga_initfn, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, diff --git a/hw/display/virtio-gpu-pci.c b/hw/display/virtio-gpu-pci.c index 22659ca196..0b0d926a5b 100644 --- a/hw/display/virtio-gpu-pci.c +++ b/hw/display/virtio-gpu-pci.c @@ -75,7 +75,8 @@ static const TypeInfo virtio_gpu_pci_base_info =3D { .parent =3D TYPE_VIRTIO_PCI, .instance_size =3D sizeof(VirtIOGPUPCIBase), .class_init =3D virtio_gpu_pci_base_class_init, - .abstract =3D true + .abstract =3D true, + .secure =3D true, }; module_obj(TYPE_VIRTIO_GPU_PCI_BASE); module_kconfig(VIRTIO_PCI); diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c index 6f5db5fc42..cd5fe8f1d8 100644 --- a/hw/virtio/virtio-pci.c +++ b/hw/virtio/virtio-pci.c @@ -2520,6 +2520,7 @@ void virtio_pci_types_register(const VirtioPCIDeviceT= ypeInfo *t) .name =3D t->generic_name, .parent =3D base_type_info.name, .class_init =3D virtio_pci_generic_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_PCIE_DEVICE }, { INTERFACE_CONVENTIONAL_PCI_DEVICE }, @@ -2555,6 +2556,7 @@ void virtio_pci_types_register(const VirtioPCIDeviceT= ypeInfo *t) .name =3D t->non_transitional_name, .parent =3D base_type_info.name, .instance_init =3D virtio_pci_non_transitional_instance_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_PCIE_DEVICE }, { INTERFACE_CONVENTIONAL_PCI_DEVICE }, @@ -2569,6 +2571,7 @@ void virtio_pci_types_register(const VirtioPCIDeviceT= ypeInfo *t) .name =3D t->transitional_name, .parent =3D base_type_info.name, .instance_init =3D virtio_pci_transitional_instance_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { /* * Transitional virtio devices work only as Conventional P= CI --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137424; cv=none; d=zohomail.com; s=zohoarc; b=FKlNfUrtRqNJeDtfyGdicuEqzCuSKSOG6TeSZdksQcBnQVHU6q4BPI/Xq7OGUdkAQbNoQaVEJT+WGfrc5i2ESdM1I4SrboqO1cAG1Tmn+zNUH+Rr6QibHxwOVnmVWqgp5MXTw3cGZsz81l4ExGEx5h7JxE4w4hGroLA4MO7Ngx8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137424; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=P8SFGy/hq0dW7bSxSgJO/zU5isKmK2Ilivs89TXlOVY=; b=fLDM4wLXO/BD2HwKrP+JqSWDrSULc9+e9EgI/zVdL0B8B+ArjIoiQDwKx/QS2GVPFfSrldOhcpDYH4ewsb5tSN7LQNFAPa50n4gefY9I7vmqtYaTfKwAvxkNWYbGrBzxHPkHNM6MVlCvC4W+bGKASwJ9hw3S9UmC2DJYt0rGlRc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137424628578.6151866807105; Fri, 11 Sep 2026 07:37:04 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417049.1645972 (Exim 4.92) (envelope-from ) id 1x52My-0003rp-Mt; Fri, 11 Sep 2026 14:36:48 +0000 Received: by outflank-mailman (output) from mailman id 1417049.1645972; Fri, 11 Sep 2026 14:36:48 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52My-0003rc-J8; Fri, 11 Sep 2026 14:36:48 +0000 Received: by outflank-mailman (input) for mailman id 1417049; Fri, 11 Sep 2026 14:36:47 +0000 Received: from mx.expurgate.net ([194.145.224.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52Mw-0003ox-SL for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:36:46 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52Mw-00EPw8-9A for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:36:46 +0200 Received: from [10.42.69.7] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa411f2-2eae-0a2a0a5409dd-0a2a4507d898-22 for ; Fri, 11 Sep 2026 16:36:45 +0200 Received: from [170.10.129.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa411fc-b4ea-0a2a45070019-aa0a817c9db7-3 for ; Fri, 11 Sep 2026 16:36:45 +0200 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-679-QJAJc0lBOSyL8twcGOmj4g-1; Fri, 11 Sep 2026 10:36:41 -0400 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 A6CC21954202; Fri, 11 Sep 2026 14:36:39 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id D6BFA3000229; Fri, 11 Sep 2026 14:36:37 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137404; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=P8SFGy/hq0dW7bSxSgJO/zU5isKmK2Ilivs89TXlOVY=; b=ij7AzpuBkpZu5tMHiI2riRBYUCONbLSg0A9C+XsveWPUlEyBsJPZiTZ9DrJaVcbMRNV1bG 7jnBPUPQqF8GpJjTLf+919pvC8AKxaKB9kgyZ//vPqyc2jiemn9BieC4mjpFGkJnxZ0pmx nPCSUg4R1raKU7lIthBY8QaO12HftS0= X-MC-Unique: QJAJc0lBOSyL8twcGOmj4g-1 X-Mimecast-MFC-AGG-ID: QJAJc0lBOSyL8twcGOmj4g_1789137399 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 04/28] hw: mark all virtio CCW devices as secure Date: Fri, 11 Sep 2026 15:36:03 +0100 Message-ID: <20260911143627.2743803-5-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: Kt9gjqEcTb3aDHHqKi65Bya2LjWe84ayZcbuwn15fg4_1789137399 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-ef75cf/1789137405-35AC0AE4-BD59CDF7/0/0 X-purgate-type: clean X-purgate-size: 9458 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137425474158500 These are all intended for use in a virtualization scenario and must provide a security boundary. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/s390x/vhost-scsi-ccw.c | 1 + hw/s390x/vhost-user-fs-ccw.c | 1 + hw/s390x/vhost-vsock-ccw.c | 1 + hw/s390x/virtio-ccw-9p.c | 1 + hw/s390x/virtio-ccw-balloon.c | 1 + hw/s390x/virtio-ccw-blk.c | 1 + hw/s390x/virtio-ccw-crypto.c | 1 + hw/s390x/virtio-ccw-gpu.c | 1 + hw/s390x/virtio-ccw-input.c | 5 +++++ hw/s390x/virtio-ccw-md.c | 1 + hw/s390x/virtio-ccw-mem.c | 1 + hw/s390x/virtio-ccw-net.c | 1 + hw/s390x/virtio-ccw-rng.c | 1 + hw/s390x/virtio-ccw-scsi.c | 1 + hw/s390x/virtio-ccw-serial.c | 1 + hw/s390x/virtio-ccw.c | 1 + 16 files changed, 20 insertions(+) diff --git a/hw/s390x/vhost-scsi-ccw.c b/hw/s390x/vhost-scsi-ccw.c index 1e68459eb0..2bd51a8033 100644 --- a/hw/s390x/vhost-scsi-ccw.c +++ b/hw/s390x/vhost-scsi-ccw.c @@ -62,6 +62,7 @@ static const TypeInfo vhost_ccw_scsi =3D { .instance_size =3D sizeof(VHostSCSICcw), .instance_init =3D vhost_ccw_scsi_instance_init, .class_init =3D vhost_ccw_scsi_class_init, + .secure =3D true, }; =20 static void virtio_ccw_scsi_register(void) diff --git a/hw/s390x/vhost-user-fs-ccw.c b/hw/s390x/vhost-user-fs-ccw.c index 35a77e4cb7..6d341dc5e9 100644 --- a/hw/s390x/vhost-user-fs-ccw.c +++ b/hw/s390x/vhost-user-fs-ccw.c @@ -64,6 +64,7 @@ static const TypeInfo vhost_user_fs_ccw =3D { .instance_size =3D sizeof(VHostUserFSCcw), .instance_init =3D vhost_user_fs_ccw_instance_init, .class_init =3D vhost_user_fs_ccw_class_init, + .secure =3D true, }; =20 static void vhost_user_fs_ccw_register(void) diff --git a/hw/s390x/vhost-vsock-ccw.c b/hw/s390x/vhost-vsock-ccw.c index efdfdeec84..92b6d177e8 100644 --- a/hw/s390x/vhost-vsock-ccw.c +++ b/hw/s390x/vhost-vsock-ccw.c @@ -71,6 +71,7 @@ static const TypeInfo vhost_vsock_ccw_info =3D { .instance_size =3D sizeof(VHostVSockCCWState), .instance_init =3D vhost_vsock_ccw_instance_init, .class_init =3D vhost_vsock_ccw_class_init, + .secure =3D true, }; =20 static void vhost_vsock_ccw_register(void) diff --git a/hw/s390x/virtio-ccw-9p.c b/hw/s390x/virtio-ccw-9p.c index d8612f7cd1..08d3ee577b 100644 --- a/hw/s390x/virtio-ccw-9p.c +++ b/hw/s390x/virtio-ccw-9p.c @@ -64,6 +64,7 @@ static const TypeInfo virtio_ccw_9p_info =3D { .instance_size =3D sizeof(V9fsCCWState), .instance_init =3D virtio_ccw_9p_instance_init, .class_init =3D virtio_ccw_9p_class_init, + .secure =3D true, }; =20 static void virtio_ccw_9p_register(void) diff --git a/hw/s390x/virtio-ccw-balloon.c b/hw/s390x/virtio-ccw-balloon.c index 4f67310b69..f7f5640cf1 100644 --- a/hw/s390x/virtio-ccw-balloon.c +++ b/hw/s390x/virtio-ccw-balloon.c @@ -69,6 +69,7 @@ static const TypeInfo virtio_ccw_balloon =3D { .instance_size =3D sizeof(VirtIOBalloonCcw), .instance_init =3D virtio_ccw_balloon_instance_init, .class_init =3D virtio_ccw_balloon_class_init, + .secure =3D true, }; =20 static void virtio_ccw_balloon_register(void) diff --git a/hw/s390x/virtio-ccw-blk.c b/hw/s390x/virtio-ccw-blk.c index 939dcaeed3..dd4ac892b2 100644 --- a/hw/s390x/virtio-ccw-blk.c +++ b/hw/s390x/virtio-ccw-blk.c @@ -67,6 +67,7 @@ static const TypeInfo virtio_ccw_blk =3D { .instance_size =3D sizeof(VirtIOBlkCcw), .instance_init =3D virtio_ccw_blk_instance_init, .class_init =3D virtio_ccw_blk_class_init, + .secure =3D true, }; =20 static void virtio_ccw_blk_register(void) diff --git a/hw/s390x/virtio-ccw-crypto.c b/hw/s390x/virtio-ccw-crypto.c index 2c4ee2ca39..9f274562ac 100644 --- a/hw/s390x/virtio-ccw-crypto.c +++ b/hw/s390x/virtio-ccw-crypto.c @@ -67,6 +67,7 @@ static const TypeInfo virtio_ccw_crypto =3D { .instance_size =3D sizeof(VirtIOCryptoCcw), .instance_init =3D virtio_ccw_crypto_instance_init, .class_init =3D virtio_ccw_crypto_class_init, + .secure =3D true, }; =20 static void virtio_ccw_crypto_register(void) diff --git a/hw/s390x/virtio-ccw-gpu.c b/hw/s390x/virtio-ccw-gpu.c index 4120c6bcb9..79c302860f 100644 --- a/hw/s390x/virtio-ccw-gpu.c +++ b/hw/s390x/virtio-ccw-gpu.c @@ -66,6 +66,7 @@ static const TypeInfo virtio_ccw_gpu =3D { .instance_size =3D sizeof(VirtIOGPUCcw), .instance_init =3D virtio_ccw_gpu_instance_init, .class_init =3D virtio_ccw_gpu_class_init, + .secure =3D true, }; module_obj(TYPE_VIRTIO_GPU_CCW); module_kconfig(VIRTIO_CCW); diff --git a/hw/s390x/virtio-ccw-input.c b/hw/s390x/virtio-ccw-input.c index a9ec60428c..1ada4caa15 100644 --- a/hw/s390x/virtio-ccw-input.c +++ b/hw/s390x/virtio-ccw-input.c @@ -96,6 +96,7 @@ static const TypeInfo virtio_ccw_input =3D { .instance_size =3D sizeof(VirtIOInputCcw), .class_init =3D virtio_ccw_input_class_init, .abstract =3D true, + .secure =3D true, }; =20 static const TypeInfo virtio_ccw_input_hid =3D { @@ -103,6 +104,7 @@ static const TypeInfo virtio_ccw_input_hid =3D { .parent =3D TYPE_VIRTIO_INPUT_CCW, .instance_size =3D sizeof(VirtIOInputHIDCcw), .abstract =3D true, + .secure =3D true, }; =20 static const TypeInfo virtio_ccw_keyboard =3D { @@ -110,6 +112,7 @@ static const TypeInfo virtio_ccw_keyboard =3D { .parent =3D TYPE_VIRTIO_INPUT_HID_CCW, .instance_size =3D sizeof(VirtIOInputHIDCcw), .instance_init =3D virtio_ccw_keyboard_instance_init, + .secure =3D true, }; =20 static const TypeInfo virtio_ccw_mouse =3D { @@ -117,6 +120,7 @@ static const TypeInfo virtio_ccw_mouse =3D { .parent =3D TYPE_VIRTIO_INPUT_HID_CCW, .instance_size =3D sizeof(VirtIOInputHIDCcw), .instance_init =3D virtio_ccw_mouse_instance_init, + .secure =3D true, }; =20 static const TypeInfo virtio_ccw_tablet =3D { @@ -124,6 +128,7 @@ static const TypeInfo virtio_ccw_tablet =3D { .parent =3D TYPE_VIRTIO_INPUT_HID_CCW, .instance_size =3D sizeof(VirtIOInputHIDCcw), .instance_init =3D virtio_ccw_tablet_instance_init, + .secure =3D true, }; =20 static void virtio_ccw_input_register(void) diff --git a/hw/s390x/virtio-ccw-md.c b/hw/s390x/virtio-ccw-md.c index 0370f58450..9a0264efda 100644 --- a/hw/s390x/virtio-ccw-md.c +++ b/hw/s390x/virtio-ccw-md.c @@ -140,6 +140,7 @@ static const TypeInfo virtio_ccw_md_info =3D { .instance_size =3D sizeof(VirtIOMDCcw), .class_size =3D sizeof(VirtIOMDCcwClass), .abstract =3D true, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_MEMORY_DEVICE }, { } diff --git a/hw/s390x/virtio-ccw-mem.c b/hw/s390x/virtio-ccw-mem.c index dea30aacfb..7014f0f92e 100644 --- a/hw/s390x/virtio-ccw-mem.c +++ b/hw/s390x/virtio-ccw-mem.c @@ -216,6 +216,7 @@ static const TypeInfo virtio_ccw_mem =3D { .instance_size =3D sizeof(VirtIOMEMCcw), .instance_init =3D virtio_ccw_mem_instance_init, .class_init =3D virtio_ccw_mem_class_init, + .secure =3D true, }; =20 static void virtio_ccw_mem_register_types(void) diff --git a/hw/s390x/virtio-ccw-net.c b/hw/s390x/virtio-ccw-net.c index 30e7055ab2..d39311a9f0 100644 --- a/hw/s390x/virtio-ccw-net.c +++ b/hw/s390x/virtio-ccw-net.c @@ -70,6 +70,7 @@ static const TypeInfo virtio_ccw_net =3D { .instance_size =3D sizeof(VirtIONetCcw), .instance_init =3D virtio_ccw_net_instance_init, .class_init =3D virtio_ccw_net_class_init, + .secure =3D true, }; =20 static void virtio_ccw_net_register(void) diff --git a/hw/s390x/virtio-ccw-rng.c b/hw/s390x/virtio-ccw-rng.c index 0647621e33..8b62fd9905 100644 --- a/hw/s390x/virtio-ccw-rng.c +++ b/hw/s390x/virtio-ccw-rng.c @@ -66,6 +66,7 @@ static const TypeInfo virtio_ccw_rng =3D { .instance_size =3D sizeof(VirtIORNGCcw), .instance_init =3D virtio_ccw_rng_instance_init, .class_init =3D virtio_ccw_rng_class_init, + .secure =3D true, }; =20 static void virtio_ccw_rng_register(void) diff --git a/hw/s390x/virtio-ccw-scsi.c b/hw/s390x/virtio-ccw-scsi.c index c181a2b769..baac329d75 100644 --- a/hw/s390x/virtio-ccw-scsi.c +++ b/hw/s390x/virtio-ccw-scsi.c @@ -76,6 +76,7 @@ static const TypeInfo virtio_ccw_scsi =3D { .instance_size =3D sizeof(VirtIOSCSICcw), .instance_init =3D virtio_ccw_scsi_instance_init, .class_init =3D virtio_ccw_scsi_class_init, + .secure =3D true, }; =20 static void virtio_ccw_scsi_register(void) diff --git a/hw/s390x/virtio-ccw-serial.c b/hw/s390x/virtio-ccw-serial.c index 7ff07a0841..9a1686a4dc 100644 --- a/hw/s390x/virtio-ccw-serial.c +++ b/hw/s390x/virtio-ccw-serial.c @@ -76,6 +76,7 @@ static const TypeInfo virtio_ccw_serial =3D { .instance_size =3D sizeof(VirtioSerialCcw), .instance_init =3D virtio_ccw_serial_instance_init, .class_init =3D virtio_ccw_serial_class_init, + .secure =3D true, }; =20 static void virtio_ccw_serial_register(void) diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c index d82874ed27..bf01e5a7fa 100644 --- a/hw/s390x/virtio-ccw.c +++ b/hw/s390x/virtio-ccw.c @@ -1264,6 +1264,7 @@ static const TypeInfo virtio_ccw_device_info =3D { .class_init =3D virtio_ccw_device_class_init, .class_size =3D sizeof(VirtIOCCWDeviceClass), .abstract =3D true, + .secure =3D true, }; =20 /* virtio-ccw-bus */ --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137424; cv=none; d=zohomail.com; s=zohoarc; b=QmJk7INetkD3KfiWpqepgW2M6iprRWRuTcObPgjQ8ySqrD8cSHTwecPFH3OFHIbOyHsq/WpS1Hgvx+nCDH27HOfw+e90JycCzij/UgD0iq6VCyDRVi+Itop6sAzr6AfkMPPrNW9729L8YRssUCP5kAusTWAyIxezuLxUDIw2DQY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137424; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ITXs1RC82PxSIg8yFFapmKCFNMrOr2p5NsMTwGt6/Sk=; b=aRxdy8gW4kEDvjuYQtagReZPgebUhulFii+jrO7rUrPSFzj+BOei7ajxPOJdmW7q4TR0i0v1SjIoE2bN+unGaNLhGdwN0eGZQC1Sm+GtkWAoVPDwEcLoAZHm6XqP2adw575Z1fApo/Q/8myKsBaTswNndjZTznNLcQhEe8EKEwg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137424705958.8677437179066; Fri, 11 Sep 2026 07:37:04 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417050.1645981 (Exim 4.92) (envelope-from ) id 1x52N0-000473-20; Fri, 11 Sep 2026 14:36:50 +0000 Received: by outflank-mailman (output) from mailman id 1417050.1645981; Fri, 11 Sep 2026 14:36:50 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52Mz-00046n-UT; Fri, 11 Sep 2026 14:36:49 +0000 Received: by outflank-mailman (input) for mailman id 1417050; Fri, 11 Sep 2026 14:36:48 +0000 Received: from mx.expurgate.net ([194.145.224.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52My-0003rT-J2 for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:36:48 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52Mx-00EPw8-W7 for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:36:48 +0200 Received: from [10.42.69.11] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa411ea-2eae-0a2a0a5409dd-0a2a450bc0b0-48 for ; Fri, 11 Sep 2026 16:36:47 +0200 Received: from [170.10.133.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa411fe-b7e8-0a2a450b0019-aa0a857cce15-3 for ; Fri, 11 Sep 2026 16:36:47 +0200 Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-586-_kA9vgHhO4OI92Jt3oP7vg-1; Fri, 11 Sep 2026 10:36:43 -0400 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-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id D4EE5180074A; Fri, 11 Sep 2026 14:36:41 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 052D53000229; Fri, 11 Sep 2026 14:36:39 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137406; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ITXs1RC82PxSIg8yFFapmKCFNMrOr2p5NsMTwGt6/Sk=; b=ZAwcDkJFMqfERK8I2vz0t3zzDmdkQhkIs/aXeAETMbMK3qyv+XYe7s9m54LQ1Rb5C70SfC t4Znxq2Ed2m7VYci5r35OS/8ql16Cr+C07Z2VnRT4ASduSoQzNXwW0cidFz9UEWpqMJ4Mq l8npFY7agnoc4g4zM1d8a3QwgL/BMoQ= X-MC-Unique: _kA9vgHhO4OI92Jt3oP7vg-1 X-Mimecast-MFC-AGG-ID: _kA9vgHhO4OI92Jt3oP7vg_1789137401 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 05/28] hw: mark all vhost devices a secure Date: Fri, 11 Sep 2026 15:36:04 +0100 Message-ID: <20260911143627.2743803-6-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: 8u2-9snIgGt0TBZK4ZIS0XhW_U2cSAgsCpFtA9t53sY_1789137401 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-42698a/1789137407-A8ECE9EA-B2B6B37C/0/0 X-purgate-type: clean X-purgate-size: 9561 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137425516158500 These are all intended for use in a virtualization scenario and must provide a security boundary. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/block/vhost-user-blk.c | 1 + hw/display/vhost-user-gpu.c | 1 + hw/scsi/vhost-scsi-common.c | 1 + hw/scsi/vhost-scsi.c | 1 + hw/scsi/vhost-user-scsi.c | 1 + hw/virtio/vhost-user-base.c | 3 ++- hw/virtio/vhost-user-fs.c | 1 + hw/virtio/vhost-user-gpio.c | 1 + hw/virtio/vhost-user-i2c.c | 1 + hw/virtio/vhost-user-input.c | 1 + hw/virtio/vhost-user-rng.c | 1 + hw/virtio/vhost-user-rtc.c | 1 + hw/virtio/vhost-user-scmi.c | 1 + hw/virtio/vhost-user-snd.c | 1 + hw/virtio/vhost-user-spi.c | 1 + hw/virtio/vhost-user-test-device.c | 1 + hw/virtio/vhost-user-vsock.c | 1 + hw/virtio/vhost-vsock-common.c | 1 + hw/virtio/vhost-vsock.c | 1 + 19 files changed, 20 insertions(+), 1 deletion(-) diff --git a/hw/block/vhost-user-blk.c b/hw/block/vhost-user-blk.c index 2e5b3ae1b1..105d77e543 100644 --- a/hw/block/vhost-user-blk.c +++ b/hw/block/vhost-user-blk.c @@ -673,6 +673,7 @@ static const TypeInfo vhost_user_blk_info =3D { .instance_size =3D sizeof(VHostUserBlk), .instance_init =3D vhost_user_blk_instance_init, .class_init =3D vhost_user_blk_class_init, + .secure =3D true, }; =20 static void virtio_register_types(void) diff --git a/hw/display/vhost-user-gpu.c b/hw/display/vhost-user-gpu.c index cd684d6363..4204cac483 100644 --- a/hw/display/vhost-user-gpu.c +++ b/hw/display/vhost-user-gpu.c @@ -727,6 +727,7 @@ static const TypeInfo vhost_user_gpu_info =3D { .instance_init =3D vhost_user_gpu_instance_init, .instance_finalize =3D vhost_user_gpu_instance_finalize, .class_init =3D vhost_user_gpu_class_init, + .secure =3D true, }; module_obj(TYPE_VHOST_USER_GPU); module_kconfig(VHOST_USER_GPU); diff --git a/hw/scsi/vhost-scsi-common.c b/hw/scsi/vhost-scsi-common.c index e19800a0bc..7b0007a30e 100644 --- a/hw/scsi/vhost-scsi-common.c +++ b/hw/scsi/vhost-scsi-common.c @@ -164,6 +164,7 @@ static const TypeInfo vhost_scsi_common_info =3D { .parent =3D TYPE_VIRTIO_SCSI_COMMON, .instance_size =3D sizeof(VHostSCSICommon), .abstract =3D true, + .secure =3D true, }; =20 static void virtio_register_types(void) diff --git a/hw/scsi/vhost-scsi.c b/hw/scsi/vhost-scsi.c index 657403cad0..e1f209fabb 100644 --- a/hw/scsi/vhost-scsi.c +++ b/hw/scsi/vhost-scsi.c @@ -400,6 +400,7 @@ static const TypeInfo vhost_scsi_info =3D { .instance_size =3D sizeof(VHostSCSI), .class_init =3D vhost_scsi_class_init, .instance_init =3D vhost_scsi_instance_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_FW_PATH_PROVIDER }, { } diff --git a/hw/scsi/vhost-user-scsi.c b/hw/scsi/vhost-user-scsi.c index 5070178dc2..8906997051 100644 --- a/hw/scsi/vhost-user-scsi.c +++ b/hw/scsi/vhost-user-scsi.c @@ -425,6 +425,7 @@ static const TypeInfo vhost_user_scsi_info =3D { .instance_size =3D sizeof(VHostUserSCSI), .class_init =3D vhost_user_scsi_class_init, .instance_init =3D vhost_user_scsi_instance_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_FW_PATH_PROVIDER }, { } diff --git a/hw/virtio/vhost-user-base.c b/hw/virtio/vhost-user-base.c index 478ec68f09..682c06f26b 100644 --- a/hw/virtio/vhost-user-base.c +++ b/hw/virtio/vhost-user-base.c @@ -426,7 +426,8 @@ static const TypeInfo vub_types[] =3D { .instance_size =3D sizeof(VHostUserBase), .class_init =3D vub_class_init, .class_size =3D sizeof(VHostUserBaseClass), - .abstract =3D true + .abstract =3D true, + .secure =3D true, } }; =20 diff --git a/hw/virtio/vhost-user-fs.c b/hw/virtio/vhost-user-fs.c index 209993918a..9901f84bfb 100644 --- a/hw/virtio/vhost-user-fs.c +++ b/hw/virtio/vhost-user-fs.c @@ -448,6 +448,7 @@ static const TypeInfo vuf_info =3D { .instance_size =3D sizeof(VHostUserFS), .instance_init =3D vuf_instance_init, .class_init =3D vuf_class_init, + .secure =3D true, }; =20 static void vuf_register_types(void) diff --git a/hw/virtio/vhost-user-gpio.c b/hw/virtio/vhost-user-gpio.c index d473f87077..cec21106e0 100644 --- a/hw/virtio/vhost-user-gpio.c +++ b/hw/virtio/vhost-user-gpio.c @@ -53,6 +53,7 @@ static const TypeInfo vu_gpio_info =3D { .parent =3D TYPE_VHOST_USER_BASE, .instance_size =3D sizeof(VHostUserGPIO), .class_init =3D vu_gpio_class_init, + .secure =3D true, }; =20 static void vu_gpio_register_types(void) diff --git a/hw/virtio/vhost-user-i2c.c b/hw/virtio/vhost-user-i2c.c index 152b1f6740..17b0b44413 100644 --- a/hw/virtio/vhost-user-i2c.c +++ b/hw/virtio/vhost-user-i2c.c @@ -53,6 +53,7 @@ static const TypeInfo vu_i2c_info =3D { .parent =3D TYPE_VHOST_USER_BASE, .instance_size =3D sizeof(VHostUserI2C), .class_init =3D vu_i2c_class_init, + .secure =3D true, }; =20 static void vu_i2c_register_types(void) diff --git a/hw/virtio/vhost-user-input.c b/hw/virtio/vhost-user-input.c index 5cfc5bbb56..a850e3770e 100644 --- a/hw/virtio/vhost-user-input.c +++ b/hw/virtio/vhost-user-input.c @@ -47,6 +47,7 @@ static const TypeInfo vhost_input_info =3D { .parent =3D TYPE_VHOST_USER_BASE, .instance_size =3D sizeof(VHostUserInput), .class_init =3D vhost_input_class_init, + .secure =3D true, }; =20 static void vhost_input_register_types(void) diff --git a/hw/virtio/vhost-user-rng.c b/hw/virtio/vhost-user-rng.c index 106c8f211a..dc1286559c 100644 --- a/hw/virtio/vhost-user-rng.c +++ b/hw/virtio/vhost-user-rng.c @@ -55,6 +55,7 @@ static const TypeInfo vu_rng_info =3D { .parent =3D TYPE_VHOST_USER_BASE, .instance_size =3D sizeof(VHostUserRNG), .class_init =3D vu_rng_class_init, + .secure =3D true, }; =20 static void vu_rng_register_types(void) diff --git a/hw/virtio/vhost-user-rtc.c b/hw/virtio/vhost-user-rtc.c index 88b0c70b90..2cb949590e 100644 --- a/hw/virtio/vhost-user-rtc.c +++ b/hw/virtio/vhost-user-rtc.c @@ -54,6 +54,7 @@ static const TypeInfo vu_rtc_info =3D { .parent =3D TYPE_VHOST_USER_BASE, .instance_size =3D sizeof(VHostUserRTC), .class_init =3D vu_rtc_class_init, + .secure =3D true, }; =20 static void vu_rtc_register_types(void) diff --git a/hw/virtio/vhost-user-scmi.c b/hw/virtio/vhost-user-scmi.c index 02dc088ea9..c5f7f0afb0 100644 --- a/hw/virtio/vhost-user-scmi.c +++ b/hw/virtio/vhost-user-scmi.c @@ -310,6 +310,7 @@ static const TypeInfo vu_scmi_info =3D { .parent =3D TYPE_VIRTIO_DEVICE, .instance_size =3D sizeof(VHostUserSCMI), .class_init =3D vu_scmi_class_init, + .secure =3D true, }; =20 static void vu_scmi_register_types(void) diff --git a/hw/virtio/vhost-user-snd.c b/hw/virtio/vhost-user-snd.c index 7129b77d9c..3695534aa2 100644 --- a/hw/virtio/vhost-user-snd.c +++ b/hw/virtio/vhost-user-snd.c @@ -72,6 +72,7 @@ static const TypeInfo vu_snd_info =3D { .parent =3D TYPE_VHOST_USER_BASE, .instance_size =3D sizeof(VHostUserSound), .class_init =3D vu_snd_class_init, + .secure =3D true, }; =20 static void vu_snd_register_types(void) diff --git a/hw/virtio/vhost-user-spi.c b/hw/virtio/vhost-user-spi.c index 707f96c250..58d5fd7b46 100644 --- a/hw/virtio/vhost-user-spi.c +++ b/hw/virtio/vhost-user-spi.c @@ -55,6 +55,7 @@ static const TypeInfo vu_spi_info =3D { .parent =3D TYPE_VHOST_USER_BASE, .instance_size =3D sizeof(VHostUserSPI), .class_init =3D vu_spi_class_init, + .secure =3D true, }; =20 static void vu_spi_register_types(void) diff --git a/hw/virtio/vhost-user-test-device.c b/hw/virtio/vhost-user-test= -device.c index a2f963fdf6..73da8af48a 100644 --- a/hw/virtio/vhost-user-test-device.c +++ b/hw/virtio/vhost-user-test-device.c @@ -50,6 +50,7 @@ static const TypeInfo vud_info =3D { .name =3D TYPE_VHOST_USER_TEST_DEVICE, .parent =3D TYPE_VHOST_USER_BASE, .class_init =3D vud_class_init, + .secure =3D true, }; =20 static void vu_register_types(void) diff --git a/hw/virtio/vhost-user-vsock.c b/hw/virtio/vhost-user-vsock.c index c2cd376e73..e10ceb95cb 100644 --- a/hw/virtio/vhost-user-vsock.c +++ b/hw/virtio/vhost-user-vsock.c @@ -175,6 +175,7 @@ static const TypeInfo vuv_info =3D { .parent =3D TYPE_VHOST_VSOCK_COMMON, .instance_size =3D sizeof(VHostUserVSock), .class_init =3D vuv_class_init, + .secure =3D true, }; =20 static void vuv_register_types(void) diff --git a/hw/virtio/vhost-vsock-common.c b/hw/virtio/vhost-vsock-common.c index b79f4c9ce6..01f7dea6f5 100644 --- a/hw/virtio/vhost-vsock-common.c +++ b/hw/virtio/vhost-vsock-common.c @@ -309,6 +309,7 @@ static const TypeInfo vhost_vsock_common_info =3D { .instance_size =3D sizeof(VHostVSockCommon), .class_init =3D vhost_vsock_common_class_init, .abstract =3D true, + .secure =3D true, }; =20 static void vhost_vsock_common_register_types(void) diff --git a/hw/virtio/vhost-vsock.c b/hw/virtio/vhost-vsock.c index da244eb165..66a17ee15f 100644 --- a/hw/virtio/vhost-vsock.c +++ b/hw/virtio/vhost-vsock.c @@ -225,6 +225,7 @@ static const TypeInfo vhost_vsock_info =3D { .parent =3D TYPE_VHOST_VSOCK_COMMON, .instance_size =3D sizeof(VHostVSock), .class_init =3D vhost_vsock_class_init, + .secure =3D true, }; =20 static void vhost_vsock_register_types(void) --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137436; cv=none; d=zohomail.com; s=zohoarc; b=dRCSNFgTqlRkVJTj7iDQXrsVrYA8G1+/oaan4P3ZEhuUK8yKDmyqXbS55BfaqBzqSoydksXHEn86sDOkmsNJhNR8dZvPtZf1pTdhyQ3WcM57nvNXDdrIpsngs6g2T4MvrZT4XKetEKdka8P08zm8TNk05ndrrcF0RPG5r2Tls50= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137436; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=1yZ5P8bgdNVXz/IjME/g+paRrVamgXXAKRQr0EaewDE=; b=Heac+qsZh3dGHb997YGteegw245iMoO6mRfUHIayKqu9En6ZzdGqsnhNa8yfJctwrrXf3k/zShJPxxTcbAy9buKPCJpxBTB1XBwlPsBDRDX8yL17cGvhuPGQymvKz69ylId4J10Zmi5/+ykvjty8OXNn1gRFfliukhM0w/lH+F0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137436844398.35957726541096; Fri, 11 Sep 2026 07:37:16 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417052.1645990 (Exim 4.92) (envelope-from ) id 1x52N4-0004Su-Ao; Fri, 11 Sep 2026 14:36:54 +0000 Received: by outflank-mailman (output) from mailman id 1417052.1645990; Fri, 11 Sep 2026 14:36:54 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52N4-0004Sf-6H; Fri, 11 Sep 2026 14:36:54 +0000 Received: by outflank-mailman (input) for mailman id 1417052; Fri, 11 Sep 2026 14:36:52 +0000 Received: from mx.expurgate.net ([194.145.224.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52N2-0004OG-6P for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:36:52 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52N1-008jWV-Jb for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:36:51 +0200 Received: from [10.42.69.2] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa411fb-bab6-0a2a0a5309dd-0a2a450295c6-16 for ; Fri, 11 Sep 2026 16:36:51 +0200 Received: from [170.10.133.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa41202-6ca4-0a2a45020019-aa0a857cc8bf-3 for ; Fri, 11 Sep 2026 16:36:51 +0200 Received: from mx-prod-mc-01.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-474-r_vv3jVcPcaZDrubIcVqRg-1; Fri, 11 Sep 2026 10:36:45 -0400 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-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 2C87F19539AB; Fri, 11 Sep 2026 14:36:44 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 32CA3300022B; Fri, 11 Sep 2026 14:36:42 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137410; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=1yZ5P8bgdNVXz/IjME/g+paRrVamgXXAKRQr0EaewDE=; b=a4Ohp12JRxRyeAj9aOmK39sJin8SMYeSQVpTyFK+DuD/OFTq8noXDGsXDP4cqkcYb72XJK O00DtXlUDgBSc4eF83LjxStO4z9J9HIFNzAQF/7OeSpYhELPj/kFWpChUNJtX6n/HnYzux ChTTr+cLgyXwcLLTEVAvwqjIjJCEvW4= X-MC-Unique: r_vv3jVcPcaZDrubIcVqRg-1 X-Mimecast-MFC-AGG-ID: r_vv3jVcPcaZDrubIcVqRg_1789137404 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 06/28] hw: mark all remaining virtio object types as secure Date: Fri, 11 Sep 2026 15:36:05 +0100 Message-ID: <20260911143627.2743803-7-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: ZHcdJfV1F6X-kBRbEX3gE7sF2-jBlLaTi0x-hErFUEg_1789137404 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-720697/1789137411-F2EB32AC-BB71FAF5/0/0 X-purgate-type: clean X-purgate-size: 16806 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137437716158500 These are all intended for use in a virtualization scenario and must provide a security boundary. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/9pfs/virtio-9p-device.c | 1 + hw/audio/virtio-snd.c | 1 + hw/block/virtio-blk.c | 1 + hw/char/virtio-console.c | 2 ++ hw/char/virtio-serial-bus.c | 3 +++ hw/display/virtio-gpu-base.c | 3 ++- hw/display/virtio-gpu-gl.c | 1 + hw/display/virtio-gpu-rutabaga.c | 1 + hw/display/virtio-gpu.c | 1 + hw/input/virtio-input-hid.c | 5 +++++ hw/input/virtio-input-host.c | 1 + hw/input/virtio-input.c | 1 + hw/net/virtio-net.c | 1 + hw/scsi/virtio-scsi.c | 2 ++ hw/virtio/vdpa-dev.c | 1 + hw/virtio/virtio-balloon.c | 1 + hw/virtio/virtio-bus.c | 1 + hw/virtio/virtio-crypto.c | 1 + hw/virtio/virtio-input-pci.c | 2 ++ hw/virtio/virtio-iommu.c | 2 ++ hw/virtio/virtio-md-pci.c | 1 + hw/virtio/virtio-mem.c | 1 + hw/virtio/virtio-mmio.c | 2 ++ hw/virtio/virtio-nsm.c | 1 + hw/virtio/virtio-pmem.c | 1 + hw/virtio/virtio-rng.c | 1 + hw/virtio/virtio-rtc.c | 1 + 27 files changed, 39 insertions(+), 1 deletion(-) diff --git a/hw/9pfs/virtio-9p-device.c b/hw/9pfs/virtio-9p-device.c index 2774fc2290..a4572c851d 100644 --- a/hw/9pfs/virtio-9p-device.c +++ b/hw/9pfs/virtio-9p-device.c @@ -288,6 +288,7 @@ static const TypeInfo virtio_device_info =3D { .parent =3D TYPE_VIRTIO_DEVICE, .instance_size =3D sizeof(V9fsVirtioState), .class_init =3D virtio_9p_class_init, + .secure =3D true, }; =20 static void virtio_9p_register_types(void) diff --git a/hw/audio/virtio-snd.c b/hw/audio/virtio-snd.c index 694bcebb60..eacabca5eb 100644 --- a/hw/audio/virtio-snd.c +++ b/hw/audio/virtio-snd.c @@ -1410,6 +1410,7 @@ static const TypeInfo virtio_snd_types[] =3D { .parent =3D TYPE_VIRTIO_DEVICE, .instance_size =3D sizeof(VirtIOSound), .class_init =3D virtio_snd_class_init, + .secure =3D true, } }; =20 diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c index 6b92066aff..bcd252482d 100644 --- a/hw/block/virtio-blk.c +++ b/hw/block/virtio-blk.c @@ -1951,6 +1951,7 @@ static const TypeInfo virtio_blk_info =3D { .instance_init =3D virtio_blk_instance_init, .class_init =3D virtio_blk_class_init, .class_size =3D sizeof(VirtIOBlkClass), + .secure =3D true, }; =20 static void virtio_register_types(void) diff --git a/hw/char/virtio-console.c b/hw/char/virtio-console.c index 4737b9a56e..e5798a5f4b 100644 --- a/hw/char/virtio-console.c +++ b/hw/char/virtio-console.c @@ -266,6 +266,7 @@ static const TypeInfo virtconsole_info =3D { .name =3D "virtconsole", .parent =3D TYPE_VIRTIO_CONSOLE_SERIAL_PORT, .class_init =3D virtconsole_class_init, + .secure =3D true, }; =20 static const Property virtserialport_properties[] =3D { @@ -291,6 +292,7 @@ static const TypeInfo virtserialport_info =3D { .parent =3D TYPE_VIRTIO_SERIAL_PORT, .instance_size =3D sizeof(VirtConsole), .class_init =3D virtserialport_class_init, + .secure =3D true, }; =20 static void virtconsole_register_types(void) diff --git a/hw/char/virtio-serial-bus.c b/hw/char/virtio-serial-bus.c index 83a033ce85..60ef9c4f10 100644 --- a/hw/char/virtio-serial-bus.c +++ b/hw/char/virtio-serial-bus.c @@ -836,6 +836,7 @@ static const TypeInfo virtser_bus_info =3D { .parent =3D TYPE_BUS, .instance_size =3D sizeof(VirtIOSerialBus), .class_init =3D virtser_bus_class_init, + .secure =3D true, }; =20 #ifdef CONFIG_HMP @@ -1091,6 +1092,7 @@ static const TypeInfo virtio_serial_port_type_info = =3D { .parent =3D TYPE_DEVICE, .instance_size =3D sizeof(VirtIOSerialPort), .abstract =3D true, + .secure =3D true, .class_size =3D sizeof(VirtIOSerialPortClass), .class_init =3D virtio_serial_port_class_init, }; @@ -1169,6 +1171,7 @@ static const TypeInfo virtio_device_info =3D { .parent =3D TYPE_VIRTIO_DEVICE, .instance_size =3D sizeof(VirtIOSerial), .class_init =3D virtio_serial_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_HOTPLUG_HANDLER }, { } diff --git a/hw/display/virtio-gpu-base.c b/hw/display/virtio-gpu-base.c index 270fbaae10..7a78d1ee83 100644 --- a/hw/display/virtio-gpu-base.c +++ b/hw/display/virtio-gpu-base.c @@ -320,7 +320,8 @@ static const TypeInfo virtio_gpu_base_info =3D { .instance_size =3D sizeof(VirtIOGPUBase), .class_size =3D sizeof(VirtIOGPUBaseClass), .class_init =3D virtio_gpu_base_class_init, - .abstract =3D true + .abstract =3D true, + .secure =3D true, }; module_obj(TYPE_VIRTIO_GPU_BASE); module_kconfig(VIRTIO_GPU); diff --git a/hw/display/virtio-gpu-gl.c b/hw/display/virtio-gpu-gl.c index 2b7a41c466..75174b6731 100644 --- a/hw/display/virtio-gpu-gl.c +++ b/hw/display/virtio-gpu-gl.c @@ -233,6 +233,7 @@ static const TypeInfo virtio_gpu_gl_info =3D { .parent =3D TYPE_VIRTIO_GPU, .instance_size =3D sizeof(VirtIOGPUGL), .class_init =3D virtio_gpu_gl_class_init, + .secure =3D true, }; module_obj(TYPE_VIRTIO_GPU_GL); module_kconfig(VIRTIO_GPU); diff --git a/hw/display/virtio-gpu-rutabaga.c b/hw/display/virtio-gpu-rutab= aga.c index 041216a10d..aba37efec5 100644 --- a/hw/display/virtio-gpu-rutabaga.c +++ b/hw/display/virtio-gpu-rutabaga.c @@ -1170,6 +1170,7 @@ static const TypeInfo virtio_gpu_rutabaga_info[] =3D { .parent =3D TYPE_VIRTIO_GPU, .instance_size =3D sizeof(VirtIOGPURutabaga), .class_init =3D virtio_gpu_rutabaga_class_init, + .secure =3D true, }, }; =20 diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c index 55a1c7f80f..b1629a28f1 100644 --- a/hw/display/virtio-gpu.c +++ b/hw/display/virtio-gpu.c @@ -1915,6 +1915,7 @@ static const TypeInfo virtio_gpu_info =3D { .instance_size =3D sizeof(VirtIOGPU), .class_size =3D sizeof(VirtIOGPUClass), .class_init =3D virtio_gpu_class_init, + .secure =3D true, }; module_obj(TYPE_VIRTIO_GPU); module_kconfig(VIRTIO_GPU); diff --git a/hw/input/virtio-input-hid.c b/hw/input/virtio-input-hid.c index 1019d6b2e5..4854860807 100644 --- a/hw/input/virtio-input-hid.c +++ b/hw/input/virtio-input-hid.c @@ -242,6 +242,7 @@ static const TypeInfo virtio_input_hid_info =3D { .instance_size =3D sizeof(VirtIOInputHID), .class_init =3D virtio_input_hid_class_init, .abstract =3D true, + .secure =3D true, }; =20 /* ----------------------------------------------------------------- */ @@ -315,6 +316,7 @@ static const TypeInfo virtio_keyboard_info =3D { .parent =3D TYPE_VIRTIO_INPUT_HID, .instance_size =3D sizeof(VirtIOInputHID), .instance_init =3D virtio_keyboard_init, + .secure =3D true, }; =20 /* ----------------------------------------------------------------- */ @@ -369,6 +371,7 @@ static const TypeInfo virtio_mouse_info =3D { .parent =3D TYPE_VIRTIO_INPUT_HID, .instance_size =3D sizeof(VirtIOInputHID), .instance_init =3D virtio_mouse_init, + .secure =3D true, }; =20 /* ----------------------------------------------------------------- */ @@ -442,6 +445,7 @@ static const TypeInfo virtio_tablet_info =3D { .parent =3D TYPE_VIRTIO_INPUT_HID, .instance_size =3D sizeof(VirtIOInputHID), .instance_init =3D virtio_tablet_init, + .secure =3D true, }; =20 /* ----------------------------------------------------------------- */ @@ -527,6 +531,7 @@ static const TypeInfo virtio_multitouch_info =3D { .parent =3D TYPE_VIRTIO_INPUT_HID, .instance_size =3D sizeof(VirtIOInputHID), .instance_init =3D virtio_multitouch_init, + .secure =3D true, }; =20 /* ----------------------------------------------------------------- */ diff --git a/hw/input/virtio-input-host.c b/hw/input/virtio-input-host.c index 633547cc4f..0d01e00cfc 100644 --- a/hw/input/virtio-input-host.c +++ b/hw/input/virtio-input-host.c @@ -248,6 +248,7 @@ static const TypeInfo virtio_input_host_info =3D { .instance_size =3D sizeof(VirtIOInputHost), .instance_init =3D virtio_input_host_init, .class_init =3D virtio_input_host_class_init, + .secure =3D true, }; =20 /* ----------------------------------------------------------------- */ diff --git a/hw/input/virtio-input.c b/hw/input/virtio-input.c index 6494cfbbe8..cccbeec1e3 100644 --- a/hw/input/virtio-input.c +++ b/hw/input/virtio-input.c @@ -329,6 +329,7 @@ static const TypeInfo virtio_input_info =3D { .class_size =3D sizeof(VirtIOInputClass), .class_init =3D virtio_input_class_init, .abstract =3D true, + .secure =3D true, .instance_finalize =3D virtio_input_finalize, }; =20 diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 814b99a43d..506a0366dc 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -4374,6 +4374,7 @@ static const TypeInfo virtio_net_info =3D { .instance_size =3D sizeof(VirtIONet), .instance_init =3D virtio_net_instance_init, .class_init =3D virtio_net_class_init, + .secure =3D true, }; =20 static void virtio_register_types(void) diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c index bf64d1231a..0fa3f11a43 100644 --- a/hw/scsi/virtio-scsi.c +++ b/hw/scsi/virtio-scsi.c @@ -1444,6 +1444,7 @@ static const TypeInfo virtio_scsi_common_info =3D { .parent =3D TYPE_VIRTIO_DEVICE, .instance_size =3D sizeof(VirtIOSCSICommon), .abstract =3D true, + .secure =3D true, .class_init =3D virtio_scsi_common_class_init, }; =20 @@ -1452,6 +1453,7 @@ static const TypeInfo virtio_scsi_info =3D { .parent =3D TYPE_VIRTIO_SCSI_COMMON, .instance_size =3D sizeof(VirtIOSCSI), .class_init =3D virtio_scsi_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_HOTPLUG_HANDLER }, { } diff --git a/hw/virtio/vdpa-dev.c b/hw/virtio/vdpa-dev.c index 6dc684ab09..bd95467652 100644 --- a/hw/virtio/vdpa-dev.c +++ b/hw/virtio/vdpa-dev.c @@ -392,6 +392,7 @@ static const TypeInfo vhost_vdpa_device_info =3D { .instance_size =3D sizeof(VhostVdpaDevice), .class_init =3D vhost_vdpa_device_class_init, .instance_init =3D vhost_vdpa_device_instance_init, + .secure =3D true, }; =20 static void register_vhost_vdpa_device_type(void) diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c index 4c5f486ba2..4d1c81e7d6 100644 --- a/hw/virtio/virtio-balloon.c +++ b/hw/virtio/virtio-balloon.c @@ -1083,6 +1083,7 @@ static const TypeInfo virtio_balloon_info =3D { .instance_size =3D sizeof(VirtIOBalloon), .instance_init =3D virtio_balloon_instance_init, .class_init =3D virtio_balloon_class_init, + .secure =3D true, }; =20 static void virtio_register_types(void) diff --git a/hw/virtio/virtio-bus.c b/hw/virtio/virtio-bus.c index 9b545acda3..9bf62a7060 100644 --- a/hw/virtio/virtio-bus.c +++ b/hw/virtio/virtio-bus.c @@ -363,6 +363,7 @@ static const TypeInfo virtio_bus_info =3D { .parent =3D TYPE_BUS, .instance_size =3D sizeof(VirtioBusState), .abstract =3D true, + .secure =3D true, .class_size =3D sizeof(VirtioBusClass), .class_init =3D virtio_bus_class_init }; diff --git a/hw/virtio/virtio-crypto.c b/hw/virtio/virtio-crypto.c index 79e2acb56c..7d4c944f35 100644 --- a/hw/virtio/virtio-crypto.c +++ b/hw/virtio/virtio-crypto.c @@ -1314,6 +1314,7 @@ static const TypeInfo virtio_crypto_info =3D { .instance_size =3D sizeof(VirtIOCrypto), .instance_init =3D virtio_crypto_instance_init, .class_init =3D virtio_crypto_class_init, + .secure =3D true, }; =20 static void virtio_register_types(void) diff --git a/hw/virtio/virtio-input-pci.c b/hw/virtio/virtio-input-pci.c index cd35608460..3605f990fd 100644 --- a/hw/virtio/virtio-input-pci.c +++ b/hw/virtio/virtio-input-pci.c @@ -117,6 +117,7 @@ static const TypeInfo virtio_input_pci_info =3D { .instance_size =3D sizeof(VirtIOInputPCI), .class_init =3D virtio_input_pci_class_init, .abstract =3D true, + .secure =3D true, }; =20 static const TypeInfo virtio_input_hid_pci_info =3D { @@ -124,6 +125,7 @@ static const TypeInfo virtio_input_hid_pci_info =3D { .parent =3D TYPE_VIRTIO_INPUT_PCI, .instance_size =3D sizeof(VirtIOInputHIDPCI), .abstract =3D true, + .secure =3D true, }; =20 static const VirtioPCIDeviceTypeInfo virtio_keyboard_pci_info =3D { diff --git a/hw/virtio/virtio-iommu.c b/hw/virtio/virtio-iommu.c index 533bd5073f..5f1920253b 100644 --- a/hw/virtio/virtio-iommu.c +++ b/hw/virtio/virtio-iommu.c @@ -1734,12 +1734,14 @@ static const TypeInfo virtio_iommu_info =3D { .instance_size =3D sizeof(VirtIOIOMMU), .instance_init =3D virtio_iommu_instance_init, .class_init =3D virtio_iommu_class_init, + .secure =3D true, }; =20 static const TypeInfo virtio_iommu_memory_region_info =3D { .parent =3D TYPE_IOMMU_MEMORY_REGION, .name =3D TYPE_VIRTIO_IOMMU_MEMORY_REGION, .class_init =3D virtio_iommu_memory_region_class_init, + .secure =3D true, }; =20 static void virtio_register_types(void) diff --git a/hw/virtio/virtio-md-pci.c b/hw/virtio/virtio-md-pci.c index 9278b32cf8..9eefb84daa 100644 --- a/hw/virtio/virtio-md-pci.c +++ b/hw/virtio/virtio-md-pci.c @@ -138,6 +138,7 @@ static const TypeInfo virtio_md_pci_info =3D { .instance_size =3D sizeof(VirtIOMDPCI), .class_size =3D sizeof(VirtIOMDPCIClass), .abstract =3D true, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_MEMORY_DEVICE }, { } diff --git a/hw/virtio/virtio-mem.c b/hw/virtio/virtio-mem.c index 7130ed852d..edad9465cb 100644 --- a/hw/virtio/virtio-mem.c +++ b/hw/virtio/virtio-mem.c @@ -1668,6 +1668,7 @@ static const TypeInfo virtio_mem_info =3D { .instance_finalize =3D virtio_mem_instance_finalize, .class_init =3D virtio_mem_class_init, .class_size =3D sizeof(VirtIOMEMClass), + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_RAM_DISCARD_SOURCE }, { } diff --git a/hw/virtio/virtio-mmio.c b/hw/virtio/virtio-mmio.c index 55ceaeef5f..f51c8d17b9 100644 --- a/hw/virtio/virtio-mmio.c +++ b/hw/virtio/virtio-mmio.c @@ -779,6 +779,7 @@ static const TypeInfo virtio_mmio_info =3D { .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(VirtIOMMIOProxy), .class_init =3D virtio_mmio_class_init, + .secure =3D true, }; =20 /* virtio-mmio-bus. */ @@ -848,6 +849,7 @@ static const TypeInfo virtio_mmio_bus_info =3D { .parent =3D TYPE_VIRTIO_BUS, .instance_size =3D sizeof(VirtioBusState), .class_init =3D virtio_mmio_bus_class_init, + .secure =3D true, }; =20 static void virtio_mmio_register_types(void) diff --git a/hw/virtio/virtio-nsm.c b/hw/virtio/virtio-nsm.c index 3bf5e7009a..099342f379 100644 --- a/hw/virtio/virtio-nsm.c +++ b/hw/virtio/virtio-nsm.c @@ -1727,6 +1727,7 @@ static const TypeInfo virtio_nsm_info =3D { .parent =3D TYPE_VIRTIO_DEVICE, .instance_size =3D sizeof(VirtIONSM), .class_init =3D virtio_nsm_class_init, + .secure =3D true, }; =20 static void virtio_register_types(void) diff --git a/hw/virtio/virtio-pmem.c b/hw/virtio/virtio-pmem.c index 6f7271c140..1a414d7ba2 100644 --- a/hw/virtio/virtio-pmem.c +++ b/hw/virtio/virtio-pmem.c @@ -196,6 +196,7 @@ static const TypeInfo virtio_pmem_info =3D { .class_size =3D sizeof(VirtIOPMEMClass), .class_init =3D virtio_pmem_class_init, .instance_size =3D sizeof(VirtIOPMEM), + .secure =3D true, }; =20 static void virtio_register_types(void) diff --git a/hw/virtio/virtio-rng.c b/hw/virtio/virtio-rng.c index d68d901195..ba80138179 100644 --- a/hw/virtio/virtio-rng.c +++ b/hw/virtio/virtio-rng.c @@ -282,6 +282,7 @@ static const TypeInfo virtio_rng_info =3D { .parent =3D TYPE_VIRTIO_DEVICE, .instance_size =3D sizeof(VirtIORNG), .class_init =3D virtio_rng_class_init, + .secure =3D true, }; =20 static void virtio_register_types(void) diff --git a/hw/virtio/virtio-rtc.c b/hw/virtio/virtio-rtc.c index 32de9c1650..08071aadb5 100644 --- a/hw/virtio/virtio-rtc.c +++ b/hw/virtio/virtio-rtc.c @@ -180,6 +180,7 @@ static const TypeInfo virtio_rtc_info =3D { .parent =3D TYPE_VIRTIO_DEVICE, .instance_size =3D sizeof(VirtIORtc), .class_init =3D virtio_rtc_class_init, + .secure =3D true, }; =20 static void virtio_rtc_register_types(void) --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137436; cv=none; d=zohomail.com; s=zohoarc; b=SSOheb3NKqYsQQvbH//nT8WSymFcfGtXq7QCNhZ7jA5y37pixELikv55k2NKglcQeVFngCAHhyvuTaQFEs1jXq+QoSB4d6lQhxQ7pzwKAN+9d6fcuWWrduQtQDHF0LHciXGFwkSqkacVhPpPhTY3Whd2eDlGZSy9dHU9LfM4IA4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137436; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=hYxcms/b3tvYKg41L3PAN6QuGuhC66PDVuW5tlA0LrY=; b=fPI1RNx+JjXQtdTJb7Vi9fkA2ja0E4xqYu2mx5ZQkbMpB1bSQAqOMem5qFVL5FgnkHqzpQ845WGkYBJgmziokSEd8t71KFGBtBWBaA6iL4MWc48BWSQIhoCBQoIJ6xN+zhLFAlFzacxOHeFevlAWulqikTfs/Z5IbCp1ho9db04= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137436565193.6908511428221; Fri, 11 Sep 2026 07:37:16 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417053.1645996 (Exim 4.92) (envelope-from ) id 1x52N4-0004ZY-Ty; Fri, 11 Sep 2026 14:36:54 +0000 Received: by outflank-mailman (output) from mailman id 1417053.1645996; Fri, 11 Sep 2026 14:36:54 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52N4-0004Yk-Md; Fri, 11 Sep 2026 14:36:54 +0000 Received: by outflank-mailman (input) for mailman id 1417053; Fri, 11 Sep 2026 14:36:53 +0000 Received: from mx.expurgate.net ([194.145.224.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52N3-0004Qa-67 for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:36:53 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52N2-008jZK-JN for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:36:52 +0200 Received: from [10.42.69.1] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa41202-2eae-0a2a0a5409dd-0a2a4501e918-6 for ; Fri, 11 Sep 2026 16:36:52 +0200 Received: from [170.10.129.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa41203-5984-0a2a45010019-aa0a817cddaf-3 for ; Fri, 11 Sep 2026 16:36:52 +0200 Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-501-5ZpW9R8YOlqZCbyG5RZybg-1; Fri, 11 Sep 2026 10:36:47 -0400 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-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 5D34A18011D5; Fri, 11 Sep 2026 14:36:46 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 66E99300022B; Fri, 11 Sep 2026 14:36:44 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=hYxcms/b3tvYKg41L3PAN6QuGuhC66PDVuW5tlA0LrY=; b=i4YeUp0q5xRIqjlPq4ucmZ+2Oeb/wJAMLNkhXY6YzLxGD0HX4gxX0d5F/eHfzOSLtCKPwW P2S3ujqE1yFaxTmv03SPDuPuTEdZwSAc4ps0OUarKI7gi8qXo6POoYfLe+c3Cz2Taqlu6g e/MzJBuDBL4fV/DtEYEqjA3ZamUFSAM= X-MC-Unique: 5ZpW9R8YOlqZCbyG5RZybg-1 X-Mimecast-MFC-AGG-ID: 5ZpW9R8YOlqZCbyG5RZybg_1789137406 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 07/28] hw/vfio: mark all VFIO object classes as secure Date: Fri, 11 Sep 2026 15:36:06 +0100 Message-ID: <20260911143627.2743803-8-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: r-QmuhgoO5_1D3e3N2gdtHVobpmIRnaWkLBuxga1At4_1789137406 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-d62444/1789137412-BE07B757-A0B63C73/0/0 X-purgate-type: clean X-purgate-size: 4497 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137437604158500 The VFIO subsystem is about securely passing host PCI devices to a guest, so all the classes should be presumed to be offering a security boundary. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/vfio-user/pci.c | 1 + hw/vfio/ap.c | 1 + hw/vfio/ccw.c | 1 + hw/vfio/container.c | 1 + hw/vfio/igd.c | 1 + hw/vfio/iommufd.c | 2 ++ hw/vfio/pci.c | 3 +++ hw/vfio/spapr.c | 1 + 8 files changed, 11 insertions(+) diff --git a/hw/vfio-user/pci.c b/hw/vfio-user/pci.c index e7573d4a9f..ae26160f72 100644 --- a/hw/vfio-user/pci.c +++ b/hw/vfio-user/pci.c @@ -482,6 +482,7 @@ static const TypeInfo vfio_user_pci_info =3D { .class_init =3D vfio_user_pci_class_init, .instance_init =3D vfio_user_pci_init, .instance_finalize =3D vfio_user_pci_finalize, + .secure =3D true, }; =20 static void register_vfio_user_dev_type(void) diff --git a/hw/vfio/ap.c b/hw/vfio/ap.c index 6e2a1223ea..4b9d522f7b 100644 --- a/hw/vfio/ap.c +++ b/hw/vfio/ap.c @@ -352,6 +352,7 @@ static const TypeInfo vfio_ap_info =3D { .instance_size =3D sizeof(VFIOAPDevice), .instance_init =3D vfio_ap_instance_init, .class_init =3D vfio_ap_class_init, + .secure =3D true, }; =20 static void vfio_ap_type_init(void) diff --git a/hw/vfio/ccw.c b/hw/vfio/ccw.c index c3dc7c1962..7a241aa02a 100644 --- a/hw/vfio/ccw.c +++ b/hw/vfio/ccw.c @@ -721,6 +721,7 @@ static const TypeInfo vfio_ccw_info =3D { .instance_size =3D sizeof(VFIOCCWDevice), .instance_init =3D vfio_ccw_instance_init, .class_init =3D vfio_ccw_class_init, + .secure =3D true, }; =20 static void register_vfio_ccw_type(void) diff --git a/hw/vfio/container.c b/hw/vfio/container.c index d09a663732..d4f20c6c81 100644 --- a/hw/vfio/container.c +++ b/hw/vfio/container.c @@ -336,6 +336,7 @@ static const TypeInfo types[] =3D { .instance_size =3D sizeof(VFIOContainer), .class_size =3D sizeof(VFIOIOMMUClass), .abstract =3D true, + .secure =3D true, }, }; =20 diff --git a/hw/vfio/igd.c b/hw/vfio/igd.c index 413a49aae9..e9cef355f9 100644 --- a/hw/vfio/igd.c +++ b/hw/vfio/igd.c @@ -311,6 +311,7 @@ static const TypeInfo vfio_pci_igd_lpc_bridge_info =3D { .name =3D "vfio-pci-igd-lpc-bridge", .parent =3D TYPE_PCI_DEVICE, .class_init =3D vfio_pci_igd_lpc_bridge_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, diff --git a/hw/vfio/iommufd.c b/hw/vfio/iommufd.c index 242644aa00..64e588fe51 100644 --- a/hw/vfio/iommufd.c +++ b/hw/vfio/iommufd.c @@ -1051,10 +1051,12 @@ static const TypeInfo types[] =3D { .parent =3D TYPE_VFIO_IOMMU, .instance_size =3D sizeof(VFIOIOMMUFDContainer), .class_init =3D vfio_iommu_iommufd_class_init, + .secure =3D true, }, { .name =3D TYPE_HOST_IOMMU_DEVICE_IOMMUFD_VFIO, .parent =3D TYPE_HOST_IOMMU_DEVICE_IOMMUFD, .class_init =3D hiod_iommufd_vfio_class_init, + .secure =3D true, } }; =20 diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c index 428ab2f069..b38877a1a8 100644 --- a/hw/vfio/pci.c +++ b/hw/vfio/pci.c @@ -3854,6 +3854,7 @@ static const TypeInfo vfio_pci_device_info =3D { .parent =3D TYPE_PCI_DEVICE, .instance_size =3D sizeof(VFIOPCIDevice), .abstract =3D true, + .secure =3D true, .class_init =3D vfio_pci_device_class_init, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_PCIE_DEVICE }, @@ -4110,6 +4111,7 @@ static const TypeInfo vfio_pci_info =3D { .class_init =3D vfio_pci_class_init, .instance_init =3D vfio_pci_init, .instance_finalize =3D vfio_pci_finalize, + .secure =3D true, }; =20 static const Property vfio_pci_nohotplug_properties[] =3D { @@ -4146,6 +4148,7 @@ static const TypeInfo vfio_pci_nohotplug_info =3D { .parent =3D TYPE_VFIO_PCI, .instance_size =3D sizeof(VFIOPCIDevice), .class_init =3D vfio_pci_nohotplug_class_init, + .secure =3D true, }; =20 static void register_vfio_pci_dev_type(void) diff --git a/hw/vfio/spapr.c b/hw/vfio/spapr.c index 42690e4323..1027c434c0 100644 --- a/hw/vfio/spapr.c +++ b/hw/vfio/spapr.c @@ -544,6 +544,7 @@ static const TypeInfo types[] =3D { .parent =3D TYPE_VFIO_IOMMU_LEGACY, .instance_size =3D sizeof(VFIOSpaprContainer), .class_init =3D vfio_iommu_spapr_class_init, + .secure =3D true, }, }; =20 --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137443; cv=none; d=zohomail.com; s=zohoarc; b=CiR6mhSKBD0nlCm3iS0Lz129iQkzbFLghuigNcF35zjbmeLP0Hc+t3EhQz/vOUkfKISoAJXbliqeIGkv53DGUzJKpDYGeukGo/+6UhWy3D79FzItsYZDLCSfThZp8E6XSpnnBseC0rqMdMfieS9AQiLcmRx18yNjWVmebzo8Oms= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137443; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=wcQmW3FrWiONRvVo20iIDURaSW8/Kg4toOjkYAWSQ3E=; b=fF/X69FOWlo34LD9Ef479NogYOba0vfQyoLytvsmfn0b1iHywJmxoH87bY5VB/0SoKSRchnZHgqNNg/PWO+XbmFe5jK27dnKnwiruMRRhw1xbUbwaC9LGvjg85//f5xp2uWt9cuOIXyzcjpldaeOTuZLbbmCPLtRKW1xEvhKMmc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137443699156.36367533127486; Fri, 11 Sep 2026 07:37:23 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417058.1646009 (Exim 4.92) (envelope-from ) id 1x52N7-00052r-9S; Fri, 11 Sep 2026 14:36:57 +0000 Received: by outflank-mailman (output) from mailman id 1417058.1646009; Fri, 11 Sep 2026 14:36:57 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52N7-00052X-4V; Fri, 11 Sep 2026 14:36:57 +0000 Received: by outflank-mailman (input) for mailman id 1417058; Fri, 11 Sep 2026 14:36:55 +0000 Received: from mx.expurgate.net ([194.145.224.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52N5-0004ic-Kq for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:36:55 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52N5-008jZK-1L for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:36:55 +0200 Received: from [10.42.69.1] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa41202-2eae-0a2a0a5409dd-0a2a4501e918-16 for ; Fri, 11 Sep 2026 16:36:54 +0200 Received: from [170.10.129.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa41205-5984-0a2a45010019-aa0a817ce18d-3 for ; Fri, 11 Sep 2026 16:36:54 +0200 Received: from mx-prod-mc-01.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-1-RjoLMoGTNgqEVSmrTvbZWw-1; Fri, 11 Sep 2026 10:36:50 -0400 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-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 888A219539B0; Fri, 11 Sep 2026 14:36:48 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id B23C63000229; Fri, 11 Sep 2026 14:36:46 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137413; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=wcQmW3FrWiONRvVo20iIDURaSW8/Kg4toOjkYAWSQ3E=; b=i4qh9euHANItTbnaqhWCAM4HuHrWfSy0uXD21oLpi3VzniLI3hsLmW44CkdnVyf7Qgp+LK l13aVc/h1zEKYbWl1T0mGDWHEFRY5SFh9vZ1Q5rMs+JK2R7VbPiEKY+SA+Xixx0fAp+U9k dHuRu64QB2enjFUiLk9hAx1Dkzwf4nw= X-MC-Unique: RjoLMoGTNgqEVSmrTvbZWw-1 X-Mimecast-MFC-AGG-ID: RjoLMoGTNgqEVSmrTvbZWw_1789137408 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 08/28] hw/xen: mark all Xen related object types as being secure Date: Fri, 11 Sep 2026 15:36:07 +0100 Message-ID: <20260911143627.2743803-9-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: b99NS5PvbIuiEzMRq8r1ZzSP_E6qXnefuOEc50IDb9E_1789137408 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-d62444/1789137414-C4B45757-E36DEFD3/0/0 X-purgate-type: clean X-purgate-size: 5925 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137445577158500 All Xen paravirtualized devices are intended to provide a host / guest security barrier, so mark all Xen object types as scure. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/block/xen-block.c | 3 +++ hw/char/xen_console.c | 1 + hw/i386/xen/xen_platform.c | 1 + hw/i386/xen/xen_pvdevice.c | 1 + hw/net/xen_nic.c | 1 + hw/xen/xen-bus.c | 3 +++ hw/xen/xen-legacy-backend.c | 3 +++ hw/xen/xen_pt.c | 1 + 8 files changed, 14 insertions(+) diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c index 474c12fe4a..3296e591d4 100644 --- a/hw/block/xen-block.c +++ b/hw/block/xen-block.c @@ -699,6 +699,7 @@ static const TypeInfo xen_block_type_info =3D { .parent =3D TYPE_XEN_DEVICE, .instance_size =3D sizeof(XenBlockDevice), .abstract =3D true, + .secure =3D true, .class_size =3D sizeof(XenBlockDeviceClass), .class_init =3D xen_block_class_init, }; @@ -740,6 +741,7 @@ static const TypeInfo xen_disk_type_info =3D { .parent =3D TYPE_XEN_BLOCK_DEVICE, .instance_size =3D sizeof(XenDiskDevice), .class_init =3D xen_disk_class_init, + .secure =3D true, }; =20 static void xen_cdrom_unrealize(XenBlockDevice *blockdev) @@ -787,6 +789,7 @@ static const TypeInfo xen_cdrom_type_info =3D { .parent =3D TYPE_XEN_BLOCK_DEVICE, .instance_size =3D sizeof(XenCDRomDevice), .class_init =3D xen_cdrom_class_init, + .secure =3D true, }; =20 static void xen_block_register_types(void) diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c index bdeb76dc87..df6a708494 100644 --- a/hw/char/xen_console.c +++ b/hw/char/xen_console.c @@ -513,6 +513,7 @@ static const TypeInfo xen_console_type_info =3D { .parent =3D TYPE_XEN_DEVICE, .instance_size =3D sizeof(XenConsole), .class_init =3D xen_console_class_init, + .secure =3D true, }; =20 static void xen_console_register_types(void) diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c index c8b852be0c..ec0084d6fb 100644 --- a/hw/i386/xen/xen_platform.c +++ b/hw/i386/xen/xen_platform.c @@ -604,6 +604,7 @@ static const TypeInfo xen_platform_info =3D { .parent =3D TYPE_PCI_DEVICE, .instance_size =3D sizeof(PCIXenPlatformState), .class_init =3D xen_platform_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, diff --git a/hw/i386/xen/xen_pvdevice.c b/hw/i386/xen/xen_pvdevice.c index fab26a06af..74636046d0 100644 --- a/hw/i386/xen/xen_pvdevice.c +++ b/hw/i386/xen/xen_pvdevice.c @@ -139,6 +139,7 @@ static const TypeInfo xen_pv_type_info =3D { .parent =3D TYPE_PCI_DEVICE, .instance_size =3D sizeof(XenPVDevice), .class_init =3D xen_pv_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, diff --git a/hw/net/xen_nic.c b/hw/net/xen_nic.c index f4d0b06013..e615303da6 100644 --- a/hw/net/xen_nic.c +++ b/hw/net/xen_nic.c @@ -579,6 +579,7 @@ static const TypeInfo xen_net_type_info =3D { .parent =3D TYPE_XEN_DEVICE, .instance_size =3D sizeof(XenNetDev), .class_init =3D xen_netdev_class_init, + .secure =3D true, }; =20 static void xen_net_register_types(void) diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c index 1762816bf4..4623995e2c 100644 --- a/hw/xen/xen-bus.c +++ b/hw/xen/xen-bus.c @@ -404,6 +404,7 @@ static const TypeInfo xen_bus_type_info =3D { .instance_size =3D sizeof(XenBus), .class_size =3D sizeof(XenBusClass), .class_init =3D xen_bus_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_HOTPLUG_HANDLER }, { } @@ -1127,6 +1128,7 @@ static const TypeInfo xen_device_type_info =3D { .parent =3D TYPE_DEVICE, .instance_size =3D sizeof(XenDevice), .abstract =3D true, + .secure =3D true, .class_size =3D sizeof(XenDeviceClass), .class_init =3D xen_device_class_init, }; @@ -1141,6 +1143,7 @@ static const TypeInfo xen_bridge_type_info =3D { .name =3D TYPE_XEN_BRIDGE, .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(XenBridge), + .secure =3D true, }; =20 static void xen_register_types(void) diff --git a/hw/xen/xen-legacy-backend.c b/hw/xen/xen-legacy-backend.c index 7977b52712..75f8ac7efd 100644 --- a/hw/xen/xen-legacy-backend.c +++ b/hw/xen/xen-legacy-backend.c @@ -648,6 +648,7 @@ static const TypeInfo xendev_type_info =3D { .parent =3D TYPE_DYNAMIC_SYS_BUS_DEVICE, .class_init =3D xendev_class_init, .instance_size =3D sizeof(XenLegacyDevice), + .secure =3D true, }; =20 static void xen_sysbus_class_init(ObjectClass *klass, const void *data) @@ -661,6 +662,7 @@ static const TypeInfo xensysbus_info =3D { .name =3D TYPE_XENSYSBUS, .parent =3D TYPE_BUS, .class_init =3D xen_sysbus_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_HOTPLUG_HANDLER }, { } @@ -670,6 +672,7 @@ static const TypeInfo xensysbus_info =3D { static const TypeInfo xensysdev_info =3D { .name =3D TYPE_XENSYSDEV, .parent =3D TYPE_SYS_BUS_DEVICE, + .secure =3D true, }; =20 static void xenbe_register_types(void) diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c index 0fe9c0aada..504c559318 100644 --- a/hw/xen/xen_pt.c +++ b/hw/xen/xen_pt.c @@ -1079,6 +1079,7 @@ static const TypeInfo xen_pci_passthrough_info =3D { .instance_finalize =3D xen_pci_passthrough_finalize, .class_init =3D xen_pci_passthrough_class_init, .class_size =3D sizeof(XenPTDeviceClass), + .secure =3D true, .instance_init =3D xen_pci_passthrough_instance_init, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137451; cv=none; d=zohomail.com; s=zohoarc; b=EPsEVvIZtKr4t+DyRHUnJ8WjWGKlRBKxzUdwaHPvihNpux+pufdy8CwwlL+XoK0u5lDpYU9x6dVBTIU/UX93y7j6oz2ohXQWNwrqlnYA2Di4dqRaMkW7pZRAiwIjCFAf0gtV4VB0BxVu54vZT82XLtJgQbxw5jU/bPHmN39GwhM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137451; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=m7+eb5JfGTqk31BVerDj3cabnDcqZzH0Cz7nFGxKH54=; b=myhIGRjCv4GUut34Lp+BstDzIfizC22S8bzNZRz/iP7g35XU/0JAjgxHBjj49GHdhH4Ub6UhJ+bcEnhCzH/OG/NBss78azDCsw8qo3S4DToo+a/1A/eakqp8vFCMK2+Db+erJ3OVKLg8E6OlmhG0T3O/kKrM4LV2nvZaD2bWTjo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137451529104.85183839793149; Fri, 11 Sep 2026 07:37:31 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417062.1646022 (Exim 4.92) (envelope-from ) id 1x52NB-0005Zr-9B; Fri, 11 Sep 2026 14:37:01 +0000 Received: by outflank-mailman (output) from mailman id 1417062.1646022; Fri, 11 Sep 2026 14:37:01 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52NB-0005XW-2p; Fri, 11 Sep 2026 14:37:01 +0000 Received: by outflank-mailman (input) for mailman id 1417062; Fri, 11 Sep 2026 14:36:59 +0000 Received: from mx.expurgate.net ([194.145.224.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52N9-0005P3-T7 for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:36:59 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52N9-008jaJ-9u for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:36:59 +0200 Received: from [10.42.69.2] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa411fb-bab6-0a2a0a5309dd-0a2a450295c6-40 for ; Fri, 11 Sep 2026 16:36:59 +0200 Received: from [170.10.129.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa41209-6ca4-0a2a45020019-aa0a817c4fd9-3 for ; Fri, 11 Sep 2026 16:36:59 +0200 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-349-qBu9J0pJONqD0PZySyKfFg-1; Fri, 11 Sep 2026 10:36:52 -0400 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 C8F771955DD4; Fri, 11 Sep 2026 14:36:50 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id DA2B53000229; Fri, 11 Sep 2026 14:36:48 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137417; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=m7+eb5JfGTqk31BVerDj3cabnDcqZzH0Cz7nFGxKH54=; b=V173gYvimKrFl352BnzcuE8Ae8XlNmgCu92t/RBBpL7quNYDZ4PW/HsW+id22Ji4uVb43Y 6mxuMbPUnZttf10XGgQxklQzoesLXwvFKKl41Kc9j00HY570hcywzsf0lDCJPonDG8RrBb 8RKJenB7NXcHDv993h4iA1RLdeadUUE= X-MC-Unique: qBu9J0pJONqD0PZySyKfFg-1 X-Mimecast-MFC-AGG-ID: qBu9J0pJONqD0PZySyKfFg_1789137410 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 09/28] hw/net: mark e1000, e1000e, IGB, rtl8139 & sPAPR VLAN as secure Date: Fri, 11 Sep 2026 15:36:08 +0100 Message-ID: <20260911143627.2743803-10-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: wCgxuSa6BO8o7rX8hyTtWH1NlYavtTT_j47SdGnnTt0_1789137410 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-720697/1789137419-303C42AC-7DB0B079/0/0 X-purgate-type: clean X-purgate-size: 2990 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137453578158500 Historically most NICs are only interesting for non-virtualization use cases and have not been written with malicious guests in mind. As a general rule either virtio-net or xen-net should be used in all virtualized guests requiring a security boundary. There are a handful of exceptions resulting from historical usage in the x86 world, to support virtualized guests lacking virtio support. Thus the rtl8139, e1000, e1000e & IGB NICs are declared to provide a security boundary. The PPC sPAPR Virutal LAN device is also marked secure. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/net/e1000.c | 1 + hw/net/e1000e.c | 1 + hw/net/igb.c | 1 + hw/net/rtl8139.c | 1 + hw/net/spapr_llan.c | 1 + 5 files changed, 5 insertions(+) diff --git a/hw/net/e1000.c b/hw/net/e1000.c index 202ad40401..da0667c40e 100644 --- a/hw/net/e1000.c +++ b/hw/net/e1000.c @@ -1759,6 +1759,7 @@ static void e1000_register_types(void) type_info.parent =3D TYPE_E1000_BASE; type_info.class_data =3D info; type_info.class_init =3D e1000_class_init; + type_info.secure =3D true, =20 type_register_static(&type_info); } diff --git a/hw/net/e1000e.c b/hw/net/e1000e.c index 9faf0c74c3..96737ddb51 100644 --- a/hw/net/e1000e.c +++ b/hw/net/e1000e.c @@ -721,6 +721,7 @@ static const TypeInfo e1000e_info =3D { .instance_size =3D sizeof(E1000EState), .class_init =3D e1000e_class_init, .instance_init =3D e1000e_instance_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_PCIE_DEVICE }, { } diff --git a/hw/net/igb.c b/hw/net/igb.c index c076807e71..0bd03efea0 100644 --- a/hw/net/igb.c +++ b/hw/net/igb.c @@ -635,6 +635,7 @@ static const TypeInfo igb_info =3D { .instance_size =3D sizeof(IGBState), .class_init =3D igb_class_init, .instance_init =3D igb_instance_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_PCIE_DEVICE }, { } diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c index 16479284ee..38bc16f312 100644 --- a/hw/net/rtl8139.c +++ b/hw/net/rtl8139.c @@ -3450,6 +3450,7 @@ static const TypeInfo rtl8139_info =3D { .instance_size =3D sizeof(RTL8139State), .class_init =3D rtl8139_class_init, .instance_init =3D rtl8139_instance_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, diff --git a/hw/net/spapr_llan.c b/hw/net/spapr_llan.c index 550848307d..c7ac58273c 100644 --- a/hw/net/spapr_llan.c +++ b/hw/net/spapr_llan.c @@ -873,6 +873,7 @@ static const TypeInfo spapr_vlan_info =3D { .class_init =3D spapr_vlan_class_init, .instance_init =3D spapr_vlan_instance_init, .instance_finalize =3D spapr_vlan_instance_finalize, + .secure =3D true, }; =20 static void spapr_vlan_register_types(void) --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137439; cv=none; d=zohomail.com; s=zohoarc; b=H5Skein2jFD6S1uUUkK6l5Cv6kKRt8H2Nco25P/I4uCst/rzD/Sdh+qcXyf+3VZsXOKN62/RW+hoLr335K8KiUavpRsUnemkIULZYt/gbMKKEbVw9HB10kVkOA3SwvgbJ8xonVjRqN1tuw2p2FsTWzY6uiRKPIR5FpRCx9pBjaY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137439; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=1RHIZmJ27HpBLHk1UKD1lxc6VROjUi/8BfHOVvo5jR8=; b=MXeSTs370GHeHsgE1AkbU/w9wVMEM2wP+DhRDIaJ7fjQQv4SEqxf42uoCe1rmINwa9kS5BiiZF/lINP7lad/iyTCPQLsIn0UEOEiUFbZ56NO7uL3qgDRq7jR91rTr2zgrrjzIo2A2WOwnN0QDkKNeG0f+Nea9w/WRrA1RVmu4OM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137439371948.4391030590352; Fri, 11 Sep 2026 07:37:19 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417061.1646017 (Exim 4.92) (envelope-from ) id 1x52NA-0005S6-JZ; Fri, 11 Sep 2026 14:37:00 +0000 Received: by outflank-mailman (output) from mailman id 1417061.1646017; Fri, 11 Sep 2026 14:37:00 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52NA-0005Rq-FG; Fri, 11 Sep 2026 14:37:00 +0000 Received: by outflank-mailman (input) for mailman id 1417061; Fri, 11 Sep 2026 14:36:58 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52N8-0005KK-NP for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:36:58 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52N8-009XnU-48 for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:36:58 +0200 Received: from [10.42.69.10] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa411ff-e002-0a2a0a5209dd-0a2a450a88f0-20 for ; Fri, 11 Sep 2026 16:36:58 +0200 Received: from [170.10.129.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa41208-f2d2-0a2a450a0019-aa0a817cce3b-3 for ; Fri, 11 Sep 2026 16:36:57 +0200 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-199-27VQIONhO4KFnGqpGIUqNw-1; Fri, 11 Sep 2026 10:36:54 -0400 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 1D0951955D88; Fri, 11 Sep 2026 14:36:53 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 286133000229; Fri, 11 Sep 2026 14:36:50 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137416; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=1RHIZmJ27HpBLHk1UKD1lxc6VROjUi/8BfHOVvo5jR8=; b=HYtyfdyqVB/bLr4hTWEDi5IyTj7xiyCGYiie0TKjijceTdz5Yxm2YazUD5dLjvvphX9lRv gf77CeE4tECwNCdCyb9u8WFXbk7ggmlATIAc5C4VKC0eRiZPzhmmiEb55VUG3y0n1ofqAv cr1cH7bHZ5zaB/ZGKggQ5EefeFJjBfM= X-MC-Unique: 27VQIONhO4KFnGqpGIUqNw-1 X-Mimecast-MFC-AGG-ID: 27VQIONhO4KFnGqpGIUqNw_1789137413 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 10/28] hw/usb: mark commonly used USB devices/hosts as secure Date: Fri, 11 Sep 2026 15:36:09 +0100 Message-ID: <20260911143627.2743803-11-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: fMivSlL4ySWGL5XZ66YqlueQUHrzopr13tR0RjRlRLY_1789137413 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-4011c0/1789137418-585CBCFC-B5F80DC6/0/0 X-purgate-type: clean X-purgate-size: 13625 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137441868158500 Most of the standardized USB1/2/3 host controllers are relevant for virtualization use cases, so should be declared secure. The "NEC" XHCI variant is slightly non-standard, but since it is a trivial sub-class of the generic XHCI, there's no reason to exclude it. The set of devices that are expected to be used is HID (mouse, tablet, keyboard), host passthrough, CCID (smartcard), hub, storage and the redirect tunnelling. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/usb/ccid-card-emulated.c | 1 + hw/usb/ccid-card-passthru.c | 1 + hw/usb/dev-hid.c | 4 ++++ hw/usb/dev-hub.c | 1 + hw/usb/dev-smartcard-reader.c | 3 +++ hw/usb/dev-storage-bot.c | 1 + hw/usb/dev-storage-classic.c | 1 + hw/usb/dev-storage.c | 1 + hw/usb/hcd-ehci-pci.c | 2 ++ hw/usb/hcd-ehci-sysbus.c | 8 ++++++++ hw/usb/hcd-ohci-pci.c | 1 + hw/usb/hcd-ohci-sysbus.c | 1 + hw/usb/hcd-uhci.c | 2 ++ hw/usb/hcd-xhci-nec.c | 1 + hw/usb/hcd-xhci-pci.c | 2 ++ hw/usb/hcd-xhci-sysbus.c | 3 ++- hw/usb/hcd-xhci.c | 1 + hw/usb/host-libusb.c | 1 + hw/usb/redirect.c | 1 + 19 files changed, 35 insertions(+), 1 deletion(-) diff --git a/hw/usb/ccid-card-emulated.c b/hw/usb/ccid-card-emulated.c index 985f21997a..f10295c675 100644 --- a/hw/usb/ccid-card-emulated.c +++ b/hw/usb/ccid-card-emulated.c @@ -610,6 +610,7 @@ static const TypeInfo emulated_card_info =3D { .parent =3D TYPE_CCID_CARD, .instance_size =3D sizeof(EmulatedState), .class_init =3D emulated_class_initfn, + .secure =3D true, }; module_obj(TYPE_EMULATED_CCID); module_kconfig(USB); diff --git a/hw/usb/ccid-card-passthru.c b/hw/usb/ccid-card-passthru.c index 5ab7855272..b91f32ebd6 100644 --- a/hw/usb/ccid-card-passthru.c +++ b/hw/usb/ccid-card-passthru.c @@ -412,6 +412,7 @@ static const TypeInfo passthru_card_info =3D { .parent =3D TYPE_CCID_CARD, .instance_size =3D sizeof(PassthruState), .class_init =3D passthru_class_initfn, + .secure =3D true, }; module_obj(TYPE_CCID_PASSTHRU); module_kconfig(USB); diff --git a/hw/usb/dev-hid.c b/hw/usb/dev-hid.c index ae19d60203..7fa9a4b010 100644 --- a/hw/usb/dev-hid.c +++ b/hw/usb/dev-hid.c @@ -790,6 +790,7 @@ static const TypeInfo usb_hid_type_info =3D { .parent =3D TYPE_USB_DEVICE, .instance_size =3D sizeof(USBHIDState), .abstract =3D true, + .secure =3D true, .class_init =3D usb_hid_class_initfn, }; =20 @@ -815,6 +816,7 @@ static const TypeInfo usb_tablet_info =3D { .name =3D "usb-tablet", .parent =3D TYPE_USB_HID, .class_init =3D usb_tablet_class_initfn, + .secure =3D true, }; =20 static const Property usb_mouse_properties[] =3D { @@ -837,6 +839,7 @@ static const TypeInfo usb_mouse_info =3D { .name =3D "usb-mouse", .parent =3D TYPE_USB_HID, .class_init =3D usb_mouse_class_initfn, + .secure =3D true, }; =20 static const Property usb_keyboard_properties[] =3D { @@ -860,6 +863,7 @@ static const TypeInfo usb_keyboard_info =3D { .name =3D "usb-kbd", .parent =3D TYPE_USB_HID, .class_init =3D usb_keyboard_class_initfn, + .secure =3D true, }; =20 static void usb_hid_register_types(void) diff --git a/hw/usb/dev-hub.c b/hw/usb/dev-hub.c index b45d571fa8..7017b4fbc7 100644 --- a/hw/usb/dev-hub.c +++ b/hw/usb/dev-hub.c @@ -694,6 +694,7 @@ static const TypeInfo hub_info =3D { .parent =3D TYPE_USB_DEVICE, .instance_size =3D sizeof(USBHubState), .class_init =3D usb_hub_class_initfn, + .secure =3D true, }; =20 static void usb_hub_register_types(void) diff --git a/hw/usb/dev-smartcard-reader.c b/hw/usb/dev-smartcard-reader.c index 964c142d10..d661c7687f 100644 --- a/hw/usb/dev-smartcard-reader.c +++ b/hw/usb/dev-smartcard-reader.c @@ -1178,6 +1178,7 @@ static const TypeInfo ccid_bus_info =3D { .name =3D TYPE_CCID_BUS, .parent =3D TYPE_BUS, .instance_size =3D sizeof(CCIDBus), + .secure =3D true, }; =20 void ccid_card_send_apdu_to_guest(CCIDCardState *card, @@ -1458,6 +1459,7 @@ static const TypeInfo ccid_info =3D { .parent =3D TYPE_USB_DEVICE, .instance_size =3D sizeof(USBCCIDState), .class_init =3D ccid_class_initfn, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_HOTPLUG_HANDLER }, { } @@ -1478,6 +1480,7 @@ static const TypeInfo ccid_card_type_info =3D { .parent =3D TYPE_DEVICE, .instance_size =3D sizeof(CCIDCardState), .abstract =3D true, + .secure =3D true, .class_size =3D sizeof(CCIDCardClass), .class_init =3D ccid_card_class_init, }; diff --git a/hw/usb/dev-storage-bot.c b/hw/usb/dev-storage-bot.c index a7f8d80c17..b156f1c5c9 100644 --- a/hw/usb/dev-storage-bot.c +++ b/hw/usb/dev-storage-bot.c @@ -52,6 +52,7 @@ static const TypeInfo bot_info =3D { .name =3D "usb-bot", .parent =3D TYPE_USB_STORAGE, .class_init =3D usb_msd_class_bot_initfn, + .secure =3D true, }; =20 static void register_types(void) diff --git a/hw/usb/dev-storage-classic.c b/hw/usb/dev-storage-classic.c index 977151c4a0..7e0699cb51 100644 --- a/hw/usb/dev-storage-classic.c +++ b/hw/usb/dev-storage-classic.c @@ -133,6 +133,7 @@ static const TypeInfo msd_info =3D { .parent =3D TYPE_USB_STORAGE, .class_init =3D usb_msd_class_storage_initfn, .instance_init =3D usb_msd_instance_init, + .secure =3D true, }; =20 static void register_types(void) diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c index 040cf15051..f964d0c9dc 100644 --- a/hw/usb/dev-storage.c +++ b/hw/usb/dev-storage.c @@ -608,6 +608,7 @@ static const TypeInfo usb_storage_dev_type_info =3D { .instance_size =3D sizeof(MSDState), .abstract =3D true, .class_init =3D usb_msd_class_initfn_common, + .secure =3D true, }; =20 static void usb_msd_register_types(void) diff --git a/hw/usb/hcd-ehci-pci.c b/hw/usb/hcd-ehci-pci.c index fd35d25340..d735d75956 100644 --- a/hw/usb/hcd-ehci-pci.c +++ b/hw/usb/hcd-ehci-pci.c @@ -171,6 +171,7 @@ static const TypeInfo ehci_pci_type_info =3D { .instance_init =3D usb_ehci_pci_init, .instance_finalize =3D usb_ehci_pci_finalize, .abstract =3D true, + .secure =3D true, .class_init =3D ehci_class_init, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, @@ -219,6 +220,7 @@ static void ehci_pci_register_types(void) TypeInfo ehci_type_info =3D { .parent =3D TYPE_PCI_EHCI, .class_init =3D ehci_data_class_init, + .secure =3D true, }; int i; =20 diff --git a/hw/usb/hcd-ehci-sysbus.c b/hw/usb/hcd-ehci-sysbus.c index 7f7c7f8a2f..0946d5a004 100644 --- a/hw/usb/hcd-ehci-sysbus.c +++ b/hw/usb/hcd-ehci-sysbus.c @@ -240,6 +240,7 @@ static const TypeInfo ehci_sysbus_types[] =3D { .instance_init =3D ehci_sysbus_init, .instance_finalize =3D ehci_sysbus_finalize, .abstract =3D true, + .secure =3D true, .class_init =3D ehci_sysbus_class_init, .class_size =3D sizeof(SysBusEHCIClass), }, @@ -247,32 +248,38 @@ static const TypeInfo ehci_sysbus_types[] =3D { .name =3D TYPE_PLATFORM_EHCI, .parent =3D TYPE_SYS_BUS_EHCI, .class_init =3D ehci_platform_class_init, + .secure =3D true, }, { .name =3D TYPE_EXYNOS4210_EHCI, .parent =3D TYPE_SYS_BUS_EHCI, .class_init =3D ehci_exynos4210_class_init, + .secure =3D true, }, { .name =3D TYPE_AW_H3_EHCI, .parent =3D TYPE_SYS_BUS_EHCI, .class_init =3D ehci_aw_h3_class_init, + .secure =3D true, }, { .name =3D TYPE_NPCM7XX_EHCI, .parent =3D TYPE_SYS_BUS_EHCI, .class_init =3D ehci_npcm7xx_class_init, + .secure =3D true, }, { .name =3D TYPE_TEGRA2_EHCI, .parent =3D TYPE_SYS_BUS_EHCI, .class_init =3D ehci_tegra2_class_init, + .secure =3D true, }, { .name =3D TYPE_PPC4xx_EHCI, .parent =3D TYPE_SYS_BUS_EHCI, .class_init =3D ehci_ppc4xx_class_init, .instance_init =3D ehci_ppc4xx_init, + .secure =3D true, }, { .name =3D TYPE_FUSBH200_EHCI, @@ -280,6 +287,7 @@ static const TypeInfo ehci_sysbus_types[] =3D { .instance_size =3D sizeof(FUSBH200EHCIState), .instance_init =3D fusbh200_ehci_init, .class_init =3D fusbh200_ehci_class_init, + .secure =3D true, }, }; =20 diff --git a/hw/usb/hcd-ohci-pci.c b/hw/usb/hcd-ohci-pci.c index 70c9e9ac4f..cf0746aa00 100644 --- a/hw/usb/hcd-ohci-pci.c +++ b/hw/usb/hcd-ohci-pci.c @@ -148,6 +148,7 @@ static const TypeInfo ohci_pci_info =3D { .parent =3D TYPE_PCI_DEVICE, .instance_size =3D sizeof(OHCIPCIState), .class_init =3D ohci_pci_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, diff --git a/hw/usb/hcd-ohci-sysbus.c b/hw/usb/hcd-ohci-sysbus.c index 4f51eebccb..fd04e918e8 100644 --- a/hw/usb/hcd-ohci-sysbus.c +++ b/hw/usb/hcd-ohci-sysbus.c @@ -80,6 +80,7 @@ static const TypeInfo ohci_sysbus_types[] =3D { .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(OHCISysBusState), .class_init =3D ohci_sysbus_class_init, + .secure =3D true, }, }; =20 diff --git a/hw/usb/hcd-uhci.c b/hw/usb/hcd-uhci.c index a7b9fe1317..cd34680f46 100644 --- a/hw/usb/hcd-uhci.c +++ b/hw/usb/hcd-uhci.c @@ -1283,6 +1283,7 @@ static const TypeInfo uhci_pci_type_info =3D { .instance_size =3D sizeof(UHCIState), .class_size =3D sizeof(UHCIPCIDeviceClass), .abstract =3D true, + .secure =3D true, .class_init =3D uhci_class_init, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, @@ -1380,6 +1381,7 @@ static void uhci_register_types(void) TypeInfo uhci_type_info =3D { .parent =3D TYPE_UHCI, .class_init =3D uhci_data_class_init, + .secure =3D true, }; int i; =20 diff --git a/hw/usb/hcd-xhci-nec.c b/hw/usb/hcd-xhci-nec.c index 46839911f3..070732be9a 100644 --- a/hw/usb/hcd-xhci-nec.c +++ b/hw/usb/hcd-xhci-nec.c @@ -67,6 +67,7 @@ static const TypeInfo nec_xhci_info =3D { .instance_size =3D sizeof(XHCINecState), .instance_init =3D nec_xhci_instance_init, .class_init =3D nec_xhci_class_init, + .secure =3D true, }; =20 static void nec_xhci_register_types(void) diff --git a/hw/usb/hcd-xhci-pci.c b/hw/usb/hcd-xhci-pci.c index b124251ae3..5d0fd851ca 100644 --- a/hw/usb/hcd-xhci-pci.c +++ b/hw/usb/hcd-xhci-pci.c @@ -266,6 +266,7 @@ static const TypeInfo xhci_pci_info =3D { .class_init =3D xhci_class_init, .instance_init =3D xhci_instance_init, .abstract =3D true, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_PCIE_DEVICE }, { INTERFACE_CONVENTIONAL_PCI_DEVICE }, @@ -298,6 +299,7 @@ static const TypeInfo qemu_xhci_info =3D { .parent =3D TYPE_XHCI_PCI, .class_init =3D qemu_xhci_class_init, .instance_init =3D qemu_xhci_instance_init, + .secure =3D true, }; =20 static void xhci_register_types(void) diff --git a/hw/usb/hcd-xhci-sysbus.c b/hw/usb/hcd-xhci-sysbus.c index bbdd5fd64a..8dd50fbbf1 100644 --- a/hw/usb/hcd-xhci-sysbus.c +++ b/hw/usb/hcd-xhci-sysbus.c @@ -112,7 +112,8 @@ static const TypeInfo xhci_sysbus_info =3D { .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(XHCISysbusState), .class_init =3D xhci_sysbus_class_init, - .instance_init =3D xhci_sysbus_instance_init + .instance_init =3D xhci_sysbus_instance_init, + .secure =3D true, }; =20 static void xhci_sysbus_register_types(void) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c index d342aa2739..aa6c8a0fdd 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -3676,6 +3676,7 @@ static const TypeInfo xhci_info =3D { .parent =3D TYPE_DEVICE, .instance_size =3D sizeof(XHCIState), .class_init =3D xhci_class_init, + .secure =3D true, }; =20 static void xhci_register_types(void) diff --git a/hw/usb/host-libusb.c b/hw/usb/host-libusb.c index 564fe9a547..c845778a54 100644 --- a/hw/usb/host-libusb.c +++ b/hw/usb/host-libusb.c @@ -1810,6 +1810,7 @@ static const TypeInfo usb_host_dev_info =3D { .instance_size =3D sizeof(USBHostDevice), .class_init =3D usb_host_class_initfn, .instance_init =3D usb_host_instance_init, + .secure =3D true, }; module_obj(TYPE_USB_HOST_DEVICE); module_kconfig(USB); diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c index dfd9e8bb50..2d56ba329a 100644 --- a/hw/usb/redirect.c +++ b/hw/usb/redirect.c @@ -2654,6 +2654,7 @@ static const TypeInfo usbredir_dev_info =3D { .instance_size =3D sizeof(USBRedirDevice), .class_init =3D usbredir_class_initfn, .instance_init =3D usbredir_instance_init, + .secure =3D true, }; module_obj(TYPE_USB_REDIR); module_kconfig(USB); --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137444; cv=none; d=zohomail.com; s=zohoarc; b=B7mf1rtBhMAUJ/coyiLqwGjmCxE1BQ/Y6TSiLcaK38QtGWJwigv7Ix5gxLhj4UT9N7diOBi5gTZ8hgX4uGzcwPuad0rySu9f0J9IOe4S5VXzln5RMiY46Q3alUJDlls6WapbvqLCFUq37nizdgVhlrSztkp1za0Dys3xLHx3TnA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137444; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=PkE3LclKvU9GiqQKtRj7Fj+wyH19sYMsxkpF53QZWX4=; b=gFDnZf3FpAMH8UTOhCaAqqsEx5EJvUhgXY2+QN66is/AaPuTq8lMQctJ5K6eaxPtK6yXCwh3BFt9euRV9Vy1ncudzqR+hxEk5fiwz9JoMLeLaS/RJAUy8rBkbHIG7gB8KBAK1MOvwEMVRkn5g9hWdfEmQjbiI15QUh0LQbIiIxQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137444571554.6092068104622; Fri, 11 Sep 2026 07:37:24 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417071.1646035 (Exim 4.92) (envelope-from ) id 1x52NF-0006G3-Ku; Fri, 11 Sep 2026 14:37:05 +0000 Received: by outflank-mailman (output) from mailman id 1417071.1646035; Fri, 11 Sep 2026 14:37:05 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52NF-0006FY-ED; Fri, 11 Sep 2026 14:37:05 +0000 Received: by outflank-mailman (input) for mailman id 1417071; Fri, 11 Sep 2026 14:37:03 +0000 Received: from mx.expurgate.net ([194.145.224.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52ND-00067i-R9 for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:37:03 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52ND-00EPyQ-7N for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:37:03 +0200 Received: from [10.42.69.4] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa411f1-8faa-0a2a0a5109dd-0a2a45049838-46 for ; Fri, 11 Sep 2026 16:37:03 +0200 Received: from [170.10.129.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa4120d-b57f-0a2a45040019-aa0a817c6de1-3 for ; Fri, 11 Sep 2026 16:37:03 +0200 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-531-wrbZ1KXtOUmB-87brWnyCw-1; Fri, 11 Sep 2026 10:36:56 -0400 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 2FA881955BF8; Fri, 11 Sep 2026 14:36:55 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 5989F3000229; Fri, 11 Sep 2026 14:36:53 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137421; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=PkE3LclKvU9GiqQKtRj7Fj+wyH19sYMsxkpF53QZWX4=; b=C9ab3bM5maw/uL9vXD2PLK/umYyGIwwgduEKF8GRmR4JOdhF9UBL4OUiPaiWpXViqXwMur Z6QbdixJ7beZ/sVQxDoDJBRhqnpfh613zIAKUmgSAXaTsEaXNnVLAYJTcoJVAEolO+9wc6 OyNCJKHjmDmCcNH14UVHnUeaaiyK2Eo= X-MC-Unique: wrbZ1KXtOUmB-87brWnyCw-1 X-Mimecast-MFC-AGG-ID: wrbZ1KXtOUmB-87brWnyCw_1789137415 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 11/28] hw/watchdog: mark some watchdog devices as secure Date: Fri, 11 Sep 2026 15:36:10 +0100 Message-ID: <20260911143627.2743803-12-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: dYANc0Ge3XFlqyIult2wRomxZKZRO5Q5r2jN6ooQbqM_1789137415 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-ebf023/1789137423-526CAB50-F2472737/0/0 X-purgate-type: clean X-purgate-size: 2833 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137445542158500 The ib700, i6300esb, gwdt, spapr and diag288 watchdog devices are marked as secure since they have traditionally been, or are intended to be, used in virtualization use cases on x86, arm, ppc and s390x architectures respectively. Other watchdogs are primarily for emulation. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/watchdog/sbsa_gwdt.c | 1 + hw/watchdog/spapr_watchdog.c | 1 + hw/watchdog/wdt_diag288.c | 1 + hw/watchdog/wdt_i6300esb.c | 1 + hw/watchdog/wdt_ib700.c | 1 + 5 files changed, 5 insertions(+) diff --git a/hw/watchdog/sbsa_gwdt.c b/hw/watchdog/sbsa_gwdt.c index 330a74798a..8a05b02c4f 100644 --- a/hw/watchdog/sbsa_gwdt.c +++ b/hw/watchdog/sbsa_gwdt.c @@ -307,6 +307,7 @@ static const TypeInfo wdt_sbsa_gwdt_info =3D { .parent =3D TYPE_SYS_BUS_DEVICE, .name =3D TYPE_WDT_SBSA, .instance_size =3D sizeof(SBSA_GWDTState), + .secure =3D true, }; =20 static void wdt_sbsa_gwdt_register_types(void) diff --git a/hw/watchdog/spapr_watchdog.c b/hw/watchdog/spapr_watchdog.c index 5a72896066..0e45e9b4a6 100644 --- a/hw/watchdog/spapr_watchdog.c +++ b/hw/watchdog/spapr_watchdog.c @@ -269,6 +269,7 @@ static const TypeInfo spapr_wdt_info =3D { .parent =3D TYPE_DEVICE, .instance_size =3D sizeof(SpaprWatchdog), .class_init =3D spapr_wdt_class_init, + .secure =3D true, }; =20 static void spapr_watchdog_register_types(void) diff --git a/hw/watchdog/wdt_diag288.c b/hw/watchdog/wdt_diag288.c index 1275353e8e..85e4f56e1d 100644 --- a/hw/watchdog/wdt_diag288.c +++ b/hw/watchdog/wdt_diag288.c @@ -129,6 +129,7 @@ static const TypeInfo wdt_diag288_info =3D { .name =3D TYPE_WDT_DIAG288, .instance_size =3D sizeof(DIAG288State), .class_size =3D sizeof(DIAG288Class), + .secure =3D true, }; =20 static void wdt_diag288_register_types(void) diff --git a/hw/watchdog/wdt_i6300esb.c b/hw/watchdog/wdt_i6300esb.c index 3aa01b8d68..05aa20fab1 100644 --- a/hw/watchdog/wdt_i6300esb.c +++ b/hw/watchdog/wdt_i6300esb.c @@ -480,6 +480,7 @@ static const TypeInfo i6300esb_info =3D { .parent =3D TYPE_PCI_DEVICE, .instance_size =3D sizeof(I6300State), .class_init =3D i6300esb_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, diff --git a/hw/watchdog/wdt_ib700.c b/hw/watchdog/wdt_ib700.c index 51a26a4cbb..8bf2b2fbf9 100644 --- a/hw/watchdog/wdt_ib700.c +++ b/hw/watchdog/wdt_ib700.c @@ -144,6 +144,7 @@ static const TypeInfo wdt_ib700_info =3D { .parent =3D TYPE_ISA_DEVICE, .instance_size =3D sizeof(IB700State), .class_init =3D wdt_ib700_class_init, + .secure =3D true, }; =20 static void wdt_ib700_register_types(void) --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137441; cv=none; d=zohomail.com; s=zohoarc; b=TrkSFtqToLAuIUWD0P593P4xrG8mQaYhrh6quaJ06awyfhuf+N7PGkWLJ0JZ38mLCVAL1BU6lp1IMexh7l8ksKc3bxWFHgXayCYs8TaZZHBb0XrDeiHtOnRUOMDtHzhP1UhGS8zvtKjjSRXSa2rwivPfYyjYP7pbjt9pGcUEZ6A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137441; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=LU2oz7xA3+OY2WcVfZSc+OLR7VAsrbJYBWSzg698kcA=; b=QWaKTAkyyr+pDmRCP2C9d2m6ovNvmRSj4J9kKc29yRHvnZ043XWeXY0ll2ZFvDm8/sVGM9/CSRjTQX1gxy6lu73dc3+/wZJXkozeyyXzdEu0ObHJ1WV67jZkWbeupYMlnLoaSeQwwMCOFbzXwwlzxFSxcRMY6a2dH+OaUwiH1AY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137441585893.7793024880905; Fri, 11 Sep 2026 07:37:21 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417076.1646049 (Exim 4.92) (envelope-from ) id 1x52NJ-0006pN-B1; Fri, 11 Sep 2026 14:37:09 +0000 Received: by outflank-mailman (output) from mailman id 1417076.1646049; Fri, 11 Sep 2026 14:37:09 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52NJ-0006oM-0z; Fri, 11 Sep 2026 14:37:09 +0000 Received: by outflank-mailman (input) for mailman id 1417076; Fri, 11 Sep 2026 14:37:07 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52NH-0006fT-Od for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:37:07 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52NH-009XnU-5H for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:37:07 +0200 Received: from [10.42.69.2] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa41210-e002-0a2a0a5209dd-0a2a4502c8a4-6 for ; Fri, 11 Sep 2026 16:37:07 +0200 Received: from [170.10.129.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa41211-6ca4-0a2a45020019-aa0a817cbd89-3 for ; Fri, 11 Sep 2026 16:37:06 +0200 Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-649-xHo6mdTZMTKAVWBSvC2yUw-1; Fri, 11 Sep 2026 10:36:59 -0400 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-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id D7F641801352; Fri, 11 Sep 2026 14:36:57 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 82D103000229; Fri, 11 Sep 2026 14:36:55 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=LU2oz7xA3+OY2WcVfZSc+OLR7VAsrbJYBWSzg698kcA=; b=ZtTY1ULFdgpXW3HorKgf0rCy67ZZCi0xyN/ZN4tGTFonVEhG0PTOnS5Co1iRpfPRX3YNPb wJeIynTgk7uDJGLnWBHjCWmZM4onN8X74Mj+2UB3YMsbooknvQuMUVBl7nGECzfKiHjnRO t+cisMMdbNaf+dxFtWL1YHZN8fYx9sI= X-MC-Unique: xHo6mdTZMTKAVWBSvC2yUw-1 X-Mimecast-MFC-AGG-ID: xHo6mdTZMTKAVWBSvC2yUw_1789137418 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 12/28] hw/scsi: mark spapr and vmware SCSI controllers as secure Date: Fri, 11 Sep 2026 15:36:11 +0100 Message-ID: <20260911143627.2743803-13-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: 5x3rV3bvcSOi1bhHBcZFKMSjNU1du5Gh3sSHjelpaTY_1789137418 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-720697/1789137427-F04A62AC-0C6DD099/0/0 X-purgate-type: clean X-purgate-size: 1271 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137443490158500 The spapr vscsi controller is used by default with spapr machines in a virtualization use case. The vmware SCSI controller supports a virtualization use case. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/scsi/spapr_vscsi.c | 1 + hw/scsi/vmw_pvscsi.c | 1 + 2 files changed, 2 insertions(+) diff --git a/hw/scsi/spapr_vscsi.c b/hw/scsi/spapr_vscsi.c index b4c8f94d22..f029a7da93 100644 --- a/hw/scsi/spapr_vscsi.c +++ b/hw/scsi/spapr_vscsi.c @@ -1298,6 +1298,7 @@ static const TypeInfo spapr_vscsi_info =3D { .parent =3D TYPE_VIO_SPAPR_DEVICE, .instance_size =3D sizeof(VSCSIState), .class_init =3D spapr_vscsi_class_init, + .secure =3D true, }; =20 static void spapr_vscsi_register_types(void) diff --git a/hw/scsi/vmw_pvscsi.c b/hw/scsi/vmw_pvscsi.c index 05f93171cd..9974930634 100644 --- a/hw/scsi/vmw_pvscsi.c +++ b/hw/scsi/vmw_pvscsi.c @@ -1355,6 +1355,7 @@ static const TypeInfo pvscsi_info =3D { .instance_size =3D sizeof(PVSCSIState), .class_init =3D pvscsi_class_init, .instance_init =3D pvscsi_instance_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_HOTPLUG_HANDLER }, { INTERFACE_PCIE_DEVICE }, --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137458; cv=none; d=zohomail.com; s=zohoarc; b=gto3g8pdUScNvvWV3KzlRFaVs0HWb9TAfyT/Jdt4JGZ0nTz3hwz2L0LJ8ia9k3rR0SHBfWKj419ev5oMDAP/q31RI2IZp/W8LwJE2vbQcMpN4R1kXmlpSeLRkNtg2dAC/xUbR9QRgwsPCb5LWx9SB6C7//gErHm9ctYDp6S+yZk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137458; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=cj/OwkAk1e+UKX4NrQR8oViEsggR98ARpU/Hmyqd04o=; b=TzDbZDgRGXD9qQZg2wqbrsjUCRGENRaMzlic6Fe+dtZ9Sc6sifCIpuGhnJrCxKG8u8TgiWYligG53ruj3JB67qjr9ZSBp48bJ78RwgFsaltaUZFne7jGLE/Nsir7QzWIa64XQS8JlHbQ/mpXVSkYv+V2vFuS0oxv44z1S/iOy5g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137458603290.7012449163501; Fri, 11 Sep 2026 07:37:38 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417075.1646044 (Exim 4.92) (envelope-from ) id 1x52NI-0006lq-SC; Fri, 11 Sep 2026 14:37:08 +0000 Received: by outflank-mailman (output) from mailman id 1417075.1646044; Fri, 11 Sep 2026 14:37:08 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52NI-0006lU-Nf; Fri, 11 Sep 2026 14:37:08 +0000 Received: by outflank-mailman (input) for mailman id 1417075; Fri, 11 Sep 2026 14:37:06 +0000 Received: from mx.expurgate.net ([194.145.224.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52NG-0006aK-U2 for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:37:06 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52NG-00EPyQ-Ad for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:37:06 +0200 Received: from [10.42.69.8] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa41211-8faa-0a2a0a5109dd-0a2a4508a7b8-2 for ; Fri, 11 Sep 2026 16:37:06 +0200 Received: from [170.10.129.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa41210-f659-0a2a45080019-aa0a817ccb6f-3 for ; Fri, 11 Sep 2026 16:37:06 +0200 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-637-teOpK41IPpaV3nA4a5Tv8Q-1; Fri, 11 Sep 2026 10:37:01 -0400 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 1159919560BC; Fri, 11 Sep 2026 14:37:00 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 3599A300022B; Fri, 11 Sep 2026 14:36:58 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=cj/OwkAk1e+UKX4NrQR8oViEsggR98ARpU/Hmyqd04o=; b=gFfVWYijJM0cTK04yUurARQ3xl9pYr2AkD72ENCWu/6htU3y2ypzfZdMW6epL62WrNb1L8 iSoZ1npSKPHKDzQ5IY8IhLDjkeAJrFbOuMjEyTL6MUzPWiOAJAQnXCPevX87dkrjQs37a0 hzuxwCriGzoLAu8UENVY5E2GCNzobL4= X-MC-Unique: teOpK41IPpaV3nA4a5Tv8Q-1 X-Mimecast-MFC-AGG-ID: teOpK41IPpaV3nA4a5Tv8Q_1789137420 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 13/28] hw/scsi: mark SCSI disk endpoint devices as secure Date: Fri, 11 Sep 2026 15:36:12 +0100 Message-ID: <20260911143627.2743803-14-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: Vea2dxjTXApmPnUJrIoqRfK5Uniu085zyb0Dl__IYHs_1789137420 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-c1860d/1789137426-DFCD387B-A99B15C4/0/0 X-purgate-type: clean X-purgate-size: 1962 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137459579158500 All these devices can be used together with supported SCSI controllers in a virtualization use case, so must be treated as secure. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/scsi/scsi-disk.c | 4 ++++ hw/scsi/scsi-generic.c | 1 + 2 files changed, 5 insertions(+) diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c index a42f7d8e77..4474400a38 100644 --- a/hw/scsi/scsi-disk.c +++ b/hw/scsi/scsi-disk.c @@ -3218,6 +3218,7 @@ static const TypeInfo scsi_disk_base_info =3D { .instance_size =3D sizeof(SCSIDiskState), .class_size =3D sizeof(SCSIDiskClass), .abstract =3D true, + .secure =3D true, }; =20 #define DEFINE_SCSI_DISK_PROPERTIES() \ @@ -3338,6 +3339,7 @@ static const TypeInfo scsi_hd_info =3D { .name =3D "scsi-hd", .parent =3D TYPE_SCSI_DISK_BASE, .class_init =3D scsi_hd_class_initfn, + .secure =3D true, }; =20 static const Property scsi_cd_properties[] =3D { @@ -3381,6 +3383,7 @@ static const TypeInfo scsi_cd_info =3D { .name =3D "scsi-cd", .parent =3D TYPE_SCSI_DISK_BASE, .class_init =3D scsi_cd_class_initfn, + .secure =3D true, }; =20 #ifdef __linux__ @@ -3423,6 +3426,7 @@ static const TypeInfo scsi_block_info =3D { .name =3D "scsi-block", .parent =3D TYPE_SCSI_DISK_BASE, .class_init =3D scsi_block_class_initfn, + .secure =3D true, }; #endif =20 diff --git a/hw/scsi/scsi-generic.c b/hw/scsi/scsi-generic.c index 8999f3b720..5588400b60 100644 --- a/hw/scsi/scsi-generic.c +++ b/hw/scsi/scsi-generic.c @@ -1225,6 +1225,7 @@ static const TypeInfo scsi_generic_info =3D { .parent =3D TYPE_SCSI_DEVICE, .instance_size =3D sizeof(SCSIDevice), .class_init =3D scsi_generic_class_initfn, + .secure =3D true, }; =20 static void scsi_generic_register_types(void) --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137455; cv=none; d=zohomail.com; s=zohoarc; b=AcvFN0vhlXlMfeLzR/IEiArWLA301oV5Grfw8fCBl234LSWB1zplDJt3aSVuXFvRxGKluPbPYiPHoDYoGMyTz/J2VDIgTBmgP2cMbnwmeXoYgkOkhvYN+JePonxnDL89MPjGlUdWAmlgKglBOW7pnClwoq0I70NgXAMysJ/evh4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137455; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=XNUd+bMGXY0z0prDdK4igFxO8NCpyH4B4dmoUC/5P5c=; b=EL1q4anjSW/EXWG9pPMA7AJdfH4gEX8ai3t6a18fWMyN6ry+Se69uX1B6n1zQ1qFaDgga07vmhWNedaVoK5NHSkh11eqohAKT+KFC/dAEeMZvEXE6sTLy78i+9MgvlW9tNhuMB15IitoWUE8L3XggpBI99VARraiCbhDRnyfroY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137455032713.1684111464021; Fri, 11 Sep 2026 07:37:35 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417079.1646060 (Exim 4.92) (envelope-from ) id 1x52NK-0007Cy-K5; Fri, 11 Sep 2026 14:37:10 +0000 Received: by outflank-mailman (output) from mailman id 1417079.1646060; Fri, 11 Sep 2026 14:37:10 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52NK-0007B5-B9; Fri, 11 Sep 2026 14:37:10 +0000 Received: by outflank-mailman (input) for mailman id 1417079; Fri, 11 Sep 2026 14:37:09 +0000 Received: from mx.expurgate.net ([194.145.224.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52NI-0006lj-VP for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:37:08 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52NI-008jaJ-Bq for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:37:08 +0200 Received: from [10.42.69.7] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa41214-bab6-0a2a0a5309dd-0a2a4507c7d6-2 for ; Fri, 11 Sep 2026 16:37:08 +0200 Received: from [170.10.133.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa41213-b4ea-0a2a45070019-aa0a857ca4b3-3 for ; Fri, 11 Sep 2026 16:37:08 +0200 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-468-tWO8hnOQMNmj-gNz7OkuIg-1; Fri, 11 Sep 2026 10:37:03 -0400 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 34FB81955BC6; Fri, 11 Sep 2026 14:37:02 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 624253000229; Fri, 11 Sep 2026 14:37:00 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=XNUd+bMGXY0z0prDdK4igFxO8NCpyH4B4dmoUC/5P5c=; b=iBAJW5qZ9Vv+vmcSJ2lE9dRF8FCSvzZ0KYEpo8Tom+FpvR5KogrqnJ89XwXtav/mdcFfzs u0cUBAiua19GYsqA8Foou5t57v/Ot2B1wxyH0rmeS55BGu14z2XyzAZnI2MUngjFVTjfNO z4Wp92r9/H8oVKyCduji5m6D8/wPpuM= X-MC-Unique: tWO8hnOQMNmj-gNz7OkuIg-1 X-Mimecast-MFC-AGG-ID: tWO8hnOQMNmj-gNz7OkuIg_1789137422 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 14/28] hw/ide: mark ICH9 and ide-hd/ide-cd as secure Date: Fri, 11 Sep 2026 15:36:13 +0100 Message-ID: <20260911143627.2743803-15-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: B3T0DayFuFrIe5C19k0zF2GYT6ybX1CTjmTTAT64RuQ_1789137422 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-ef75cf/1789137428-370DDAE4-709B6F7B/0/0 X-purgate-type: clean X-purgate-size: 2493 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137455578158500 These have a long history of usage in virtualization scenarios on x86, for OS which lack modern virtio drivers for storage, and thus must be considered secure. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/ide/ich.c | 1 + hw/ide/ide-dev.c | 3 +++ hw/ide/piix.c | 2 ++ 3 files changed, 6 insertions(+) diff --git a/hw/ide/ich.c b/hw/ide/ich.c index b00987f08d..c7d50a15c1 100644 --- a/hw/ide/ich.c +++ b/hw/ide/ich.c @@ -198,6 +198,7 @@ static const TypeInfo ich_ahci_info =3D { .instance_size =3D sizeof(AHCIPCIState), .instance_init =3D pci_ich9_ahci_init, .class_init =3D ich_ahci_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, diff --git a/hw/ide/ide-dev.c b/hw/ide/ide-dev.c index 5d478588c6..f555d0fb04 100644 --- a/hw/ide/ide-dev.c +++ b/hw/ide/ide-dev.c @@ -214,6 +214,7 @@ static const TypeInfo ide_hd_info =3D { .parent =3D TYPE_IDE_DEVICE, .instance_size =3D sizeof(IDEDrive), .class_init =3D ide_hd_class_init, + .secure =3D true, }; =20 static const Property ide_cd_properties[] =3D { @@ -236,6 +237,7 @@ static const TypeInfo ide_cd_info =3D { .parent =3D TYPE_IDE_DEVICE, .instance_size =3D sizeof(IDEDrive), .class_init =3D ide_cd_class_init, + .secure =3D true, }; =20 static void ide_device_class_init(ObjectClass *klass, const void *data) @@ -252,6 +254,7 @@ static const TypeInfo ide_device_type_info =3D { .parent =3D TYPE_DEVICE, .instance_size =3D sizeof(IDEDevice), .abstract =3D true, + .secure =3D true, .class_size =3D sizeof(IDEDeviceClass), .class_init =3D ide_device_class_init, .instance_init =3D ide_dev_instance_init, diff --git a/hw/ide/piix.c b/hw/ide/piix.c index a8472f3e58..9b7b5e98c8 100644 --- a/hw/ide/piix.c +++ b/hw/ide/piix.c @@ -198,6 +198,7 @@ static const TypeInfo piix3_ide_info =3D { .name =3D TYPE_PIIX3_IDE, .parent =3D TYPE_PCI_IDE, .class_init =3D piix3_ide_class_init, + .secure =3D true, }; =20 /* NOTE: for the PIIX4, the IRQs and IOports are hardcoded */ @@ -221,6 +222,7 @@ static const TypeInfo piix4_ide_info =3D { .name =3D TYPE_PIIX4_IDE, .parent =3D TYPE_PCI_IDE, .class_init =3D piix4_ide_class_init, + .secure =3D true, }; =20 static void piix_ide_register_types(void) --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137462; cv=none; d=zohomail.com; s=zohoarc; b=H1z28UtDrc3INxFRvLqFwKFU2mNw2wKwPrLs34JCbbVZr0r1Jp0NHQ2GrFqHByOhJKKu+L0fIKLSbhaf0mVROOhwO5lSHnYzQOSJolbQRXMO4Zzu15jZ/7o49c2ZLLnfWWHZxKvOiUysfllWnr1U8KYzw4XMeq//qGe9KDXtZ+g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137462; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=CeroplWVCuzcovqwMRjGvrfeMx7FqmzTXbbtHaWN5tE=; b=n5gzn8p19dYtZlaXYfrVdc39QMVU3yWCZ2WrsXN6zZN3xVY8/kDu+YaoB3f7qBAr6eZBTwU8dulz8s28dIwp7UkLU3qrDAh8gQIMlscie+uwjhwns/W83CcGi+tRbLv1rUwqvdYEwKRaN2bNA9lzL3lkcuGqRadSHua2PyDg5To= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137462838769.4743714752741; Fri, 11 Sep 2026 07:37:42 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417090.1646074 (Exim 4.92) (envelope-from ) id 1x52NO-0007vG-TK; Fri, 11 Sep 2026 14:37:14 +0000 Received: by outflank-mailman (output) from mailman id 1417090.1646074; Fri, 11 Sep 2026 14:37:14 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52NO-0007tk-HR; Fri, 11 Sep 2026 14:37:14 +0000 Received: by outflank-mailman (input) for mailman id 1417090; Fri, 11 Sep 2026 14:37:13 +0000 Received: from mx.expurgate.net ([194.145.224.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52NN-0007jz-8J for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:37:13 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52NM-002Y6Q-LD for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:37:12 +0200 Received: from [10.42.69.11] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa41200-8faa-0a2a0a5109dd-0a2a450b810e-22 for ; Fri, 11 Sep 2026 16:37:12 +0200 Received: from [170.10.133.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa41217-b7e8-0a2a450b0019-aa0a857cadbd-3 for ; Fri, 11 Sep 2026 16:37:12 +0200 Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-682-0bhJcL1lO_-yIUmxVdMGXg-1; Fri, 11 Sep 2026 10:37:05 -0400 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-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 6B5F1180074A; Fri, 11 Sep 2026 14:37:04 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 92C633000229; Fri, 11 Sep 2026 14:37:02 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=CeroplWVCuzcovqwMRjGvrfeMx7FqmzTXbbtHaWN5tE=; b=be/fpOjGx4Fe4wVeQSa7akSTnRJCzw6CJMuFqT4/ZVxWPLgso+GqhAa420VtpAz9DXN2N9 J9jxtfhza6AmHkxz+eKAr4WH/76YU+AjS85ynOknvBWe2KL/GhREhk1IW9hpjmD52ITqqt rjxyjj2r0cbkMob5OQd+dn+k3Y/Uddg= X-MC-Unique: 0bhJcL1lO_-yIUmxVdMGXg-1 X-Mimecast-MFC-AGG-ID: 0bhJcL1lO_-yIUmxVdMGXg_1789137424 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 15/28] hw: define most common PCI types as secure Date: Fri, 11 Sep 2026 15:36:14 +0100 Message-ID: <20260911143627.2743803-16-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: FDSG_Uz8yp_lk_qzqt7n_6M81EZU2T6Uf40kiBq36PM_1789137424 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-42698a/1789137432-A8CCF9EA-71321C78/0/0 X-purgate-type: clean X-purgate-size: 11444 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137463702158501 Essentially all PCI infrastructure is in scope for the virtualization use case, aside from the niche simba bridge. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/pci-bridge/gen_pcie_root_port.c | 1 + hw/pci-bridge/i82801b11.c | 1 + hw/pci-bridge/ioh3420.c | 1 + hw/pci-bridge/pci_bridge_dev.c | 2 ++ hw/pci-bridge/pci_expander_bridge.c | 8 ++++++++ hw/pci-bridge/pcie_pci_bridge.c | 1 + hw/pci-bridge/pcie_root_port.c | 1 + hw/pci-bridge/xio3130_downstream.c | 1 + hw/pci-bridge/xio3130_upstream.c | 1 + hw/pci/pci.c | 7 +++++++ hw/pci/pci_bridge.c | 1 + hw/pci/pci_host.c | 1 + hw/pci/pcie_host.c | 1 + hw/pci/pcie_port.c | 1 + 14 files changed, 28 insertions(+) diff --git a/hw/pci-bridge/gen_pcie_root_port.c b/hw/pci-bridge/gen_pcie_ro= ot_port.c index 5434d693d9..65d29eab38 100644 --- a/hw/pci-bridge/gen_pcie_root_port.c +++ b/hw/pci-bridge/gen_pcie_root_port.c @@ -161,6 +161,7 @@ static const TypeInfo gen_rp_dev_info =3D { .parent =3D TYPE_PCIE_ROOT_PORT, .instance_size =3D sizeof(GenPCIERootPort), .class_init =3D gen_rp_dev_class_init, + .secure =3D true, }; =20 static void gen_rp_register_types(void) diff --git a/hw/pci-bridge/i82801b11.c b/hw/pci-bridge/i82801b11.c index 1d73c14c1f..f702b20bcd 100644 --- a/hw/pci-bridge/i82801b11.c +++ b/hw/pci-bridge/i82801b11.c @@ -107,6 +107,7 @@ static const TypeInfo i82801b11_bridge_info =3D { .parent =3D TYPE_PCI_BRIDGE, .instance_size =3D sizeof(I82801b11Bridge), .class_init =3D i82801b11_bridge_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, diff --git a/hw/pci-bridge/ioh3420.c b/hw/pci-bridge/ioh3420.c index bba640f495..2c4882c4cf 100644 --- a/hw/pci-bridge/ioh3420.c +++ b/hw/pci-bridge/ioh3420.c @@ -120,6 +120,7 @@ static const TypeInfo ioh3420_info =3D { .name =3D "ioh3420", .parent =3D TYPE_PCIE_ROOT_PORT, .class_init =3D ioh3420_class_init, + .secure =3D true, }; =20 static void ioh3420_register_types(void) diff --git a/hw/pci-bridge/pci_bridge_dev.c b/hw/pci-bridge/pci_bridge_dev.c index 0c1383562d..319e6f199a 100644 --- a/hw/pci-bridge/pci_bridge_dev.c +++ b/hw/pci-bridge/pci_bridge_dev.c @@ -268,6 +268,7 @@ static const TypeInfo pci_bridge_dev_info =3D { .instance_size =3D sizeof(PCIBridgeDev), .class_init =3D pci_bridge_dev_class_init, .instance_finalize =3D pci_bridge_dev_instance_finalize, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_HOTPLUG_HANDLER }, { INTERFACE_CONVENTIONAL_PCI_DEVICE }, @@ -294,6 +295,7 @@ static const TypeInfo pci_bridge_dev_seat_info =3D { .parent =3D TYPE_PCI_BRIDGE_DEV, .instance_size =3D sizeof(PCIBridgeDev), .class_init =3D pci_bridge_dev_seat_class_init, + .secure =3D true, }; =20 static void pci_bridge_dev_register(void) diff --git a/hw/pci-bridge/pci_expander_bridge.c b/hw/pci-bridge/pci_expand= er_bridge.c index 40ffbc4e08..bd5598b639 100644 --- a/hw/pci-bridge/pci_expander_bridge.c +++ b/hw/pci-bridge/pci_expander_bridge.c @@ -114,6 +114,7 @@ static const TypeInfo pxb_bus_info =3D { .parent =3D TYPE_PCI_BUS, .instance_size =3D sizeof(PXBBus), .class_init =3D pxb_bus_class_init, + .secure =3D true, }; =20 static const TypeInfo pxb_pcie_bus_info =3D { @@ -121,6 +122,7 @@ static const TypeInfo pxb_pcie_bus_info =3D { .parent =3D TYPE_PCIE_BUS, .instance_size =3D sizeof(PXBBus), .class_init =3D pxb_bus_class_init, + .secure =3D true, }; =20 static const TypeInfo pxb_cxl_bus_info =3D { @@ -128,6 +130,7 @@ static const TypeInfo pxb_cxl_bus_info =3D { .parent =3D TYPE_CXL_BUS, .instance_size =3D sizeof(PXBBus), .class_init =3D pxb_bus_class_init, + .secure =3D true, }; =20 static const char *pxb_host_root_bus_path(PCIHostState *host_bridge, @@ -190,6 +193,7 @@ static const TypeInfo pxb_host_info =3D { .name =3D TYPE_PXB_HOST, .parent =3D TYPE_PCI_HOST_BRIDGE, .class_init =3D pxb_host_class_init, + .secure =3D true, }; =20 static void pxb_cxl_realize(DeviceState *dev, Error **errp) @@ -249,6 +253,7 @@ static const TypeInfo cxl_host_info =3D { .parent =3D TYPE_PCI_HOST_BRIDGE, .instance_size =3D sizeof(CXLHost), .class_init =3D pxb_cxl_host_class_init, + .secure =3D true, }; =20 /* @@ -453,6 +458,7 @@ static const TypeInfo pxb_dev_info =3D { .parent =3D TYPE_PCI_DEVICE, .instance_size =3D sizeof(PXBDev), .class_init =3D pxb_dev_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, @@ -490,6 +496,7 @@ static const TypeInfo pxb_pcie_dev_info =3D { .parent =3D TYPE_PXB_DEV, .instance_size =3D sizeof(PXBPCIEDev), .class_init =3D pxb_pcie_dev_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, @@ -540,6 +547,7 @@ static const TypeInfo pxb_cxl_dev_info =3D { .parent =3D TYPE_PXB_PCIE_DEV, .instance_size =3D sizeof(PXBCXLDev), .class_init =3D pxb_cxl_dev_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]){ { INTERFACE_CONVENTIONAL_PCI_DEVICE }, diff --git a/hw/pci-bridge/pcie_pci_bridge.c b/hw/pci-bridge/pcie_pci_bridg= e.c index e826fb2829..03b6b1c0f5 100644 --- a/hw/pci-bridge/pcie_pci_bridge.c +++ b/hw/pci-bridge/pcie_pci_bridge.c @@ -162,6 +162,7 @@ static const TypeInfo pcie_pci_bridge_info =3D { .parent =3D TYPE_PCI_BRIDGE, .instance_size =3D sizeof(PCIEPCIBridge), .class_init =3D pcie_pci_bridge_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_HOTPLUG_HANDLER }, { INTERFACE_PCIE_DEVICE }, diff --git a/hw/pci-bridge/pcie_root_port.c b/hw/pci-bridge/pcie_root_port.c index 7c3e78010b..d829c4b61a 100644 --- a/hw/pci-bridge/pcie_root_port.c +++ b/hw/pci-bridge/pcie_root_port.c @@ -186,6 +186,7 @@ static const TypeInfo rp_info =3D { .instance_post_init =3D rp_instance_post_init, .class_init =3D rp_class_init, .abstract =3D true, + .secure =3D true, .class_size =3D sizeof(PCIERootPortClass), .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_PCIE_DEVICE }, diff --git a/hw/pci-bridge/xio3130_downstream.c b/hw/pci-bridge/xio3130_dow= nstream.c index 0c3fed3053..ded948ebd0 100644 --- a/hw/pci-bridge/xio3130_downstream.c +++ b/hw/pci-bridge/xio3130_downstream.c @@ -175,6 +175,7 @@ static const TypeInfo xio3130_downstream_info =3D { .name =3D TYPE_XIO3130_DOWNSTREAM, .parent =3D TYPE_PCIE_SLOT, .class_init =3D xio3130_downstream_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_PCIE_DEVICE }, { } diff --git a/hw/pci-bridge/xio3130_upstream.c b/hw/pci-bridge/xio3130_upstr= eam.c index 40057b749b..9d58105f8b 100644 --- a/hw/pci-bridge/xio3130_upstream.c +++ b/hw/pci-bridge/xio3130_upstream.c @@ -144,6 +144,7 @@ static const TypeInfo xio3130_upstream_info =3D { .name =3D "x3130-upstream", .parent =3D TYPE_PCIE_PORT, .class_init =3D xio3130_upstream_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_PCIE_DEVICE }, { } diff --git a/hw/pci/pci.c b/hw/pci/pci.c index c15f2b9f08..20d4942df2 100644 --- a/hw/pci/pci.c +++ b/hw/pci/pci.c @@ -319,6 +319,7 @@ static const TypeInfo pci_bus_info =3D { .instance_size =3D sizeof(PCIBus), .class_size =3D sizeof(PCIBusClass), .class_init =3D pci_bus_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_FW_CFG_DATA_GENERATOR_INTERFACE }, { } @@ -328,16 +329,19 @@ static const TypeInfo pci_bus_info =3D { static const TypeInfo cxl_interface_info =3D { .name =3D INTERFACE_CXL_DEVICE, .parent =3D TYPE_INTERFACE, + .secure =3D true, }; =20 static const TypeInfo pcie_interface_info =3D { .name =3D INTERFACE_PCIE_DEVICE, .parent =3D TYPE_INTERFACE, + .secure =3D true, }; =20 static const TypeInfo conventional_pci_interface_info =3D { .name =3D INTERFACE_CONVENTIONAL_PCI_DEVICE, .parent =3D TYPE_INTERFACE, + .secure =3D true, }; =20 static void pcie_bus_class_init(ObjectClass *klass, const void *data) @@ -351,12 +355,14 @@ static const TypeInfo pcie_bus_info =3D { .name =3D TYPE_PCIE_BUS, .parent =3D TYPE_PCI_BUS, .class_init =3D pcie_bus_class_init, + .secure =3D true, }; =20 static const TypeInfo cxl_bus_info =3D { .name =3D TYPE_CXL_BUS, .parent =3D TYPE_PCIE_BUS, .class_init =3D pcie_bus_class_init, + .secure =3D true, }; =20 static void pci_update_mappings(PCIDevice *d); @@ -3468,6 +3474,7 @@ static const TypeInfo pci_device_type_info =3D { .parent =3D TYPE_DEVICE, .instance_size =3D sizeof(PCIDevice), .abstract =3D true, + .secure =3D true, .class_size =3D sizeof(PCIDeviceClass), .class_init =3D pci_device_class_init, .class_base_init =3D pci_device_class_base_init, diff --git a/hw/pci/pci_bridge.c b/hw/pci/pci_bridge.c index e85932e41a..3eb0917fc2 100644 --- a/hw/pci/pci_bridge.c +++ b/hw/pci/pci_bridge.c @@ -497,6 +497,7 @@ static const TypeInfo pci_bridge_type_info =3D { .instance_size =3D sizeof(PCIBridge), .class_init =3D pci_bridge_class_init, .abstract =3D true, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_ACPI_DEV_AML_IF }, { }, diff --git a/hw/pci/pci_host.c b/hw/pci/pci_host.c index 2a7fdfa563..5dc9d8493f 100644 --- a/hw/pci/pci_host.c +++ b/hw/pci/pci_host.c @@ -262,6 +262,7 @@ static const TypeInfo pci_host_type_info =3D { .name =3D TYPE_PCI_HOST_BRIDGE, .parent =3D TYPE_SYS_BUS_DEVICE, .abstract =3D true, + .secure =3D true, .class_size =3D sizeof(PCIHostBridgeClass), .instance_size =3D sizeof(PCIHostState), .class_init =3D pci_host_class_init, diff --git a/hw/pci/pcie_host.c b/hw/pci/pcie_host.c index 3717e1a086..3cf0769d2a 100644 --- a/hw/pci/pcie_host.c +++ b/hw/pci/pcie_host.c @@ -124,6 +124,7 @@ static const TypeInfo pcie_host_type_info =3D { .name =3D TYPE_PCIE_HOST_BRIDGE, .parent =3D TYPE_PCI_HOST_BRIDGE, .abstract =3D true, + .secure =3D true, .instance_size =3D sizeof(PCIExpressHost), .instance_init =3D pcie_host_init, }; diff --git a/hw/pci/pcie_port.c b/hw/pci/pcie_port.c index dbb6032160..8fce77bcb8 100644 --- a/hw/pci/pcie_port.c +++ b/hw/pci/pcie_port.c @@ -200,6 +200,7 @@ static const TypeInfo pcie_port_type_info =3D { .parent =3D TYPE_PCI_BRIDGE, .instance_size =3D sizeof(PCIEPort), .abstract =3D true, + .secure =3D true, .class_init =3D pcie_port_class_init, }; =20 --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137453; cv=none; d=zohomail.com; s=zohoarc; b=iqDLhBUg4EWZxJhisdjL3CTQTZLI9guIR1p8Cgkgs5u6pWWEmuTyztSOp6DgQ556RZswso0SBtaVcwn/GhPSCtI2gD9fPWTgh0HuqViSKOef87k72Aehk01lLCq4X14atzZ7Fhe9Y8/4foA1if8up/HqrjKbf4dwzwMhCiDb0oo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137453; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=l3BKmIpd6uP7elhTJltd1MfpWu1daHpYwrEoIxNMRtY=; b=FW9vtHSl6EkpJ2pfHg0qZtllSLwxU3ohLF8Q2pTK6Fehmp64n+28TUt5iIV7W87AYnevMISxfiAS6wCZrlTqZlIOwDYGjGP/Fno0OD4rtOqXfq1GcCXrH/R0x2BSGIiu2b4hoIfMR5KiwQ6hmOLnfQ23kzmT2/HSNYXl4SDFn9c= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137453763464.93605675365575; Fri, 11 Sep 2026 07:37:33 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417088.1646071 (Exim 4.92) (envelope-from ) id 1x52NO-0007rP-Bt; Fri, 11 Sep 2026 14:37:14 +0000 Received: by outflank-mailman (output) from mailman id 1417088.1646071; Fri, 11 Sep 2026 14:37:14 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52NO-0007r9-6n; Fri, 11 Sep 2026 14:37:14 +0000 Received: by outflank-mailman (input) for mailman id 1417088; Fri, 11 Sep 2026 14:37:12 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52NM-0007bh-IF for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:37:12 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52NL-009XnU-VB for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:37:11 +0200 Received: from [10.42.69.2] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa41210-e002-0a2a0a5209dd-0a2a4502c8a4-22 for ; Fri, 11 Sep 2026 16:37:11 +0200 Received: from [170.10.133.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa41216-6ca4-0a2a45020019-aa0a857cc721-3 for ; Fri, 11 Sep 2026 16:37:11 +0200 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-478-4ojkFmHhPTO60Js_E0hGWQ-1; Fri, 11 Sep 2026 10:37:08 -0400 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 9836D1955BE0; Fri, 11 Sep 2026 14:37:06 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id CCA7C3000229; Fri, 11 Sep 2026 14:37:04 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137430; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=l3BKmIpd6uP7elhTJltd1MfpWu1daHpYwrEoIxNMRtY=; b=bFhON2eL0UbV945q6SqkTagj1DSeVvuG+W24kqIq+lj/lhw9tb8/kAF344GHj6DOQeejQ2 QkLrxFibAHA2N5zNFmBVYn2maurO6/9tOB2gYKP8DHpeHstDRz384gCFpRzG65iZh4g9+Q aBpu246VVN5vIplbm9LGwO0OPx/kABc= X-MC-Unique: 4ojkFmHhPTO60Js_E0hGWQ-1 X-Mimecast-MFC-AGG-ID: 4ojkFmHhPTO60Js_E0hGWQ_1789137426 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 16/28] hw/pci-host: mark common x86, ppc, arm and s390 PCI hosts as secure Date: Fri, 11 Sep 2026 15:36:15 +0100 Message-ID: <20260911143627.2743803-17-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: 5jmGQsK-GK3e0AnInWeEuxSvLS_dQsbqQQO3hJZ5xuw_1789137426 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-720697/1789137431-31FD62AC-BA44DE38/0/0 X-purgate-type: clean X-purgate-size: 10131 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137455688158500 Mark the PCI hosts secure if they are used from machine types that are considered for the virtualization use case. There is also a special case for the 'remote' type and the Xen passthrough type. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/pci-host/gpex.c | 2 ++ hw/pci-host/i440fx.c | 2 ++ hw/pci-host/pnv_phb.c | 2 ++ hw/pci-host/pnv_phb3.c | 3 +++ hw/pci-host/pnv_phb3_msi.c | 1 + hw/pci-host/pnv_phb3_pbcq.c | 1 + hw/pci-host/pnv_phb4.c | 4 +++- hw/pci-host/pnv_phb4_pec.c | 1 + hw/pci-host/q35.c | 2 ++ hw/pci-host/remote.c | 1 + hw/pci-host/xen_igd_pt.c | 1 + hw/ppc/spapr_pci.c | 1 + hw/s390x/s390-pci-bus.c | 4 ++++ 13 files changed, 24 insertions(+), 1 deletion(-) diff --git a/hw/pci-host/gpex.c b/hw/pci-host/gpex.c index e66784ce51..38197a8945 100644 --- a/hw/pci-host/gpex.c +++ b/hw/pci-host/gpex.c @@ -220,6 +220,7 @@ static const TypeInfo gpex_host_info =3D { .instance_size =3D sizeof(GPEXHost), .instance_init =3D gpex_host_initfn, .class_init =3D gpex_host_class_init, + .secure =3D true, }; =20 /*************************************************************************= *** @@ -259,6 +260,7 @@ static const TypeInfo gpex_root_info =3D { .parent =3D TYPE_PCI_DEVICE, .instance_size =3D sizeof(GPEXRootState), .class_init =3D gpex_root_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, diff --git a/hw/pci-host/i440fx.c b/hw/pci-host/i440fx.c index c1982f7962..1c5a4aba1b 100644 --- a/hw/pci-host/i440fx.c +++ b/hw/pci-host/i440fx.c @@ -352,6 +352,7 @@ static const TypeInfo i440fx_info =3D { .parent =3D TYPE_PCI_DEVICE, .instance_size =3D sizeof(PCII440FXState), .class_init =3D i440fx_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, @@ -410,6 +411,7 @@ static const TypeInfo i440fx_pcihost_info =3D { .instance_size =3D sizeof(I440FXState), .instance_init =3D i440fx_pcihost_initfn, .class_init =3D i440fx_pcihost_class_init, + .secure =3D true, }; =20 static void i440fx_register_types(void) diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c index 0b556d1bf5..bc8313d2cd 100644 --- a/hw/pci-host/pnv_phb.c +++ b/hw/pci-host/pnv_phb.c @@ -333,6 +333,7 @@ static const TypeInfo pnv_phb_type_info =3D { .parent =3D TYPE_PCIE_HOST_BRIDGE, .instance_size =3D sizeof(PnvPHB), .class_init =3D pnv_phb_class_init, + .secure =3D true, }; =20 static const TypeInfo pnv_phb_root_port_info =3D { @@ -340,6 +341,7 @@ static const TypeInfo pnv_phb_root_port_info =3D { .parent =3D TYPE_PCIE_ROOT_PORT, .instance_size =3D sizeof(PnvPHBRootPort), .class_init =3D pnv_phb_root_port_class_init, + .secure =3D true, }; =20 static void pnv_phb_register_types(void) diff --git a/hw/pci-host/pnv_phb3.c b/hw/pci-host/pnv_phb3.c index db061c134e..abf43e3226 100644 --- a/hw/pci-host/pnv_phb3.c +++ b/hw/pci-host/pnv_phb3.c @@ -910,6 +910,7 @@ static const TypeInfo pnv_phb3_iommu_memory_region_info= =3D { .parent =3D TYPE_IOMMU_MEMORY_REGION, .name =3D TYPE_PNV_PHB3_IOMMU_MEMORY_REGION, .class_init =3D pnv_phb3_iommu_memory_region_class_init, + .secure =3D true, }; =20 /* @@ -1123,6 +1124,7 @@ static const TypeInfo pnv_phb3_type_info =3D { .instance_size =3D sizeof(PnvPHB3), .class_init =3D pnv_phb3_class_init, .instance_init =3D pnv_phb3_instance_init, + .secure =3D true, }; =20 static void pnv_phb3_root_bus_get_prop(Object *obj, Visitor *v, @@ -1186,6 +1188,7 @@ static const TypeInfo pnv_phb3_root_bus_info =3D { .parent =3D TYPE_PCIE_BUS, .instance_size =3D sizeof(PnvPHB3RootBus), .class_init =3D pnv_phb3_root_bus_class_init, + .secure =3D true, }; =20 static void pnv_phb3_register_types(void) diff --git a/hw/pci-host/pnv_phb3_msi.c b/hw/pci-host/pnv_phb3_msi.c index 66ba7b7913..5edc0d43eb 100644 --- a/hw/pci-host/pnv_phb3_msi.c +++ b/hw/pci-host/pnv_phb3_msi.c @@ -306,6 +306,7 @@ static const TypeInfo phb3_msi_info =3D { .class_init =3D phb3_msi_class_init, .class_size =3D sizeof(ICSStateClass), .instance_init =3D phb3_msi_instance_init, + .secure =3D true, }; =20 static void pnv_phb3_msi_register_types(void) diff --git a/hw/pci-host/pnv_phb3_pbcq.c b/hw/pci-host/pnv_phb3_pbcq.c index 1f7a149580..687c832515 100644 --- a/hw/pci-host/pnv_phb3_pbcq.c +++ b/hw/pci-host/pnv_phb3_pbcq.c @@ -354,6 +354,7 @@ static const TypeInfo pnv_pbcq_type_info =3D { .instance_size =3D sizeof(PnvPBCQState), .instance_init =3D phb3_pbcq_instance_init, .class_init =3D pnv_pbcq_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_PNV_XSCOM_INTERFACE }, { } diff --git a/hw/pci-host/pnv_phb4.c b/hw/pci-host/pnv_phb4.c index 9acaf4c0c2..9706208473 100644 --- a/hw/pci-host/pnv_phb4.c +++ b/hw/pci-host/pnv_phb4.c @@ -1374,6 +1374,7 @@ static const TypeInfo pnv_phb4_iommu_memory_region_in= fo =3D { .parent =3D TYPE_IOMMU_MEMORY_REGION, .name =3D TYPE_PNV_PHB4_IOMMU_MEMORY_REGION, .class_init =3D pnv_phb4_iommu_memory_region_class_init, + .secure =3D true, }; =20 /* @@ -1715,13 +1716,13 @@ static const TypeInfo pnv_phb4_type_info =3D { .instance_init =3D pnv_phb4_instance_init, .instance_size =3D sizeof(PnvPHB4), .class_init =3D pnv_phb4_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_XIVE_NOTIFIER }, { }, } }; =20 - static void pnv_phb4_root_bus_get_prop(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) @@ -1783,6 +1784,7 @@ static const TypeInfo pnv_phb4_root_bus_info =3D { .parent =3D TYPE_PCIE_BUS, .instance_size =3D sizeof(PnvPHB4RootBus), .class_init =3D pnv_phb4_root_bus_class_init, + .secure =3D true, }; =20 static void pnv_phb4_register_types(void) diff --git a/hw/pci-host/pnv_phb4_pec.c b/hw/pci-host/pnv_phb4_pec.c index ee5cdc3e45..280a15e8df 100644 --- a/hw/pci-host/pnv_phb4_pec.c +++ b/hw/pci-host/pnv_phb4_pec.c @@ -388,6 +388,7 @@ static const TypeInfo pnv_pec_type_info =3D { .instance_size =3D sizeof(PnvPhb4PecState), .class_init =3D pnv_pec_class_init, .class_size =3D sizeof(PnvPhb4PecClass), + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_PNV_XSCOM_INTERFACE }, { } diff --git a/hw/pci-host/q35.c b/hw/pci-host/q35.c index f4556ad03a..be38841df9 100644 --- a/hw/pci-host/q35.c +++ b/hw/pci-host/q35.c @@ -268,6 +268,7 @@ static const TypeInfo q35_host_info =3D { .instance_size =3D sizeof(Q35PCIHost), .instance_init =3D q35_host_initfn, .class_init =3D q35_host_class_init, + .secure =3D true, }; =20 /*************************************************************************= *** @@ -718,6 +719,7 @@ static const TypeInfo mch_info =3D { .parent =3D TYPE_PCI_DEVICE, .instance_size =3D sizeof(MCHPCIState), .class_init =3D mch_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, diff --git a/hw/pci-host/remote.c b/hw/pci-host/remote.c index 9ea95fac6e..a58fc39bde 100644 --- a/hw/pci-host/remote.c +++ b/hw/pci-host/remote.c @@ -63,6 +63,7 @@ static const TypeInfo remote_pcihost_info =3D { .parent =3D TYPE_PCIE_HOST_BRIDGE, .instance_size =3D sizeof(RemotePCIHost), .class_init =3D remote_pcihost_class_init, + .secure =3D true, }; =20 static void remote_pcihost_register(void) diff --git a/hw/pci-host/xen_igd_pt.c b/hw/pci-host/xen_igd_pt.c index f6016f2cd5..abc68849b9 100644 --- a/hw/pci-host/xen_igd_pt.c +++ b/hw/pci-host/xen_igd_pt.c @@ -110,6 +110,7 @@ static const TypeInfo igd_passthrough_i440fx_info =3D { .parent =3D TYPE_I440FX_PCI_DEVICE, .instance_size =3D sizeof(PCII440FXState), .class_init =3D igd_passthrough_i440fx_class_init, + .secure =3D true, }; =20 static void igd_pt_i440fx_register_types(void) diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c index c1d4b7806e..711c37878b 100644 --- a/hw/ppc/spapr_pci.c +++ b/hw/ppc/spapr_pci.c @@ -2174,6 +2174,7 @@ static const TypeInfo spapr_phb_info =3D { .instance_size =3D sizeof(SpaprPhbState), .instance_finalize =3D spapr_phb_finalizefn, .class_init =3D spapr_phb_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_HOTPLUG_HANDLER }, { } diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c index eff980fdfe..5356d13624 100644 --- a/hw/s390x/s390-pci-bus.c +++ b/hw/s390x/s390-pci-bus.c @@ -1406,6 +1406,7 @@ static const TypeInfo s390_pcihost_info =3D { .parent =3D TYPE_PCI_HOST_BRIDGE, .instance_size =3D sizeof(S390pciState), .class_init =3D s390_pcihost_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_HOTPLUG_HANDLER }, { } @@ -1416,6 +1417,7 @@ static const TypeInfo s390_pcibus_info =3D { .name =3D TYPE_S390_PCI_BUS, .parent =3D TYPE_BUS, .instance_size =3D sizeof(S390PCIBus), + .secure =3D true, }; =20 static uint16_t s390_pci_generate_uid(S390pciState *s) @@ -1588,12 +1590,14 @@ static const TypeInfo s390_pci_device_info =3D { .parent =3D TYPE_DEVICE, .instance_size =3D sizeof(S390PCIBusDevice), .class_init =3D s390_pci_device_class_init, + .secure =3D true, }; =20 static const TypeInfo s390_pci_iommu_info =3D { .name =3D TYPE_S390_PCI_IOMMU, .parent =3D TYPE_OBJECT, .instance_size =3D sizeof(S390PCIIOMMU), + .secure =3D true, }; =20 static void s390_iommu_memory_region_class_init(ObjectClass *klass, --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137457; cv=none; d=zohomail.com; s=zohoarc; b=c4ohd79roU39Rfv98gZ3GJxnBni/oxGZd80ilfQi+gE5RQ4CCQQg9UmBWuRI5HxSucwf0nivZiQrD3t7VhV0uWkqCdHGIJxat3pQQgTYLRwyAxoRdlfFt8HVu1Y9mjZ+vTaXgTn8n/gasQUCQHs8E1zGE2Nn9tve5wXsgLGSE/I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137457; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=v/QFXhbR7+trrsi9yjvMVLU5gLecR5pn7XwbzwTQyqg=; b=N8+KPK9Cm/FqjRD+H8+T9tZp6vti1Txlp09GOTvAR3Bc30mBbivcHxBxf+dLeEJJkWgwGr5bvVFfNsU+nE0omeBRltRA9dUG9d5V/WF/LRtfbc1a5MEVhtRExPNSfg/Itp8/RAzep5PmMgFVCqxy7/SJRhIqVBr9GWCDcMQj0D0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137457570290.36138947729216; Fri, 11 Sep 2026 07:37:37 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417102.1646088 (Exim 4.92) (envelope-from ) id 1x52NT-0000Pe-12; Fri, 11 Sep 2026 14:37:19 +0000 Received: by outflank-mailman (output) from mailman id 1417102.1646088; Fri, 11 Sep 2026 14:37:18 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52NS-0000PP-Sq; Fri, 11 Sep 2026 14:37:18 +0000 Received: by outflank-mailman (input) for mailman id 1417102; Fri, 11 Sep 2026 14:37:17 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52NR-0000BQ-Dk for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:37:17 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52NQ-009Xr7-QL for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:37:16 +0200 Received: from [10.42.69.12] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa41216-e002-0a2a0a5209dd-0a2a450cc2ca-18 for ; Fri, 11 Sep 2026 16:37:16 +0200 Received: from [170.10.129.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa4121b-f479-0a2a450c0019-aa0a817cb957-3 for ; Fri, 11 Sep 2026 16:37:16 +0200 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-425-tMRy4ymCPxWhrf_UlInavg-1; Fri, 11 Sep 2026 10:37:10 -0400 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 B572E1953964; Fri, 11 Sep 2026 14:37:08 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id EABCD300022B; Fri, 11 Sep 2026 14:37:06 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137435; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=v/QFXhbR7+trrsi9yjvMVLU5gLecR5pn7XwbzwTQyqg=; b=CiyIvP+DqEmCajiY6Bd2uF5Bh/aVhIhKt0g9bG5JXrlDQRYH9ZqphwrCN19bpdncKx+xP8 y4wxHn7aKF83fOEMgKA0zKd9lbAr1OJhkEAMBCns0xbSb1nKQ2teVSOx6Q7h7WnWdLaTzE EKxU1D5nreTKb5CXV3FN6oMNuczxPu0= X-MC-Unique: tMRy4ymCPxWhrf_UlInavg-1 X-Mimecast-MFC-AGG-ID: tMRy4ymCPxWhrf_UlInavg_1789137428 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 17/28] hw/display: mark bochs, cirrus, qxl, VGA, ramfb as secure Date: Fri, 11 Sep 2026 15:36:16 +0100 Message-ID: <20260911143627.2743803-18-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: ZyfBBUWJgFTV9ftP-_LEPotxwmNiXpQANGviS3BzCxI_1789137428 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-d25034/1789137436-50F3BA5B-5CBAF9B9/0/0 X-purgate-type: clean X-purgate-size: 4776 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137459642158500 Most of the display adapters are emulating old hardware which is not relevant to virtualization use cases. The exceptions that should be considered secure are Cirrus (PCI, not ISA), Bochs, QXL, RAMFB, VGA (PCI, MMIO, not ISA) and VMWare VGA. The Cirrus PCI decision is borderline. It has been heavily used with virtualization in the past, but these days VGA / RAMFB are strongly recommended instead. Due to its historical usage though, we should likely retain it in the set we aim to class as secure. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/display/bochs-display.c | 1 + hw/display/cirrus_vga.c | 1 + hw/display/qxl.c | 3 +++ hw/display/ramfb-standalone.c | 1 + hw/display/vga-mmio.c | 1 + hw/display/vga-pci.c | 3 +++ 6 files changed, 10 insertions(+) diff --git a/hw/display/bochs-display.c b/hw/display/bochs-display.c index 64e669429c..5f3ba80f99 100644 --- a/hw/display/bochs-display.c +++ b/hw/display/bochs-display.c @@ -374,6 +374,7 @@ static const TypeInfo bochs_display_type_info =3D { .instance_size =3D sizeof(BochsDisplayState), .instance_init =3D bochs_display_init, .class_init =3D bochs_display_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_PCIE_DEVICE }, { INTERFACE_CONVENTIONAL_PCI_DEVICE }, diff --git a/hw/display/cirrus_vga.c b/hw/display/cirrus_vga.c index 0a8c74e137..8232c5c468 100644 --- a/hw/display/cirrus_vga.c +++ b/hw/display/cirrus_vga.c @@ -3013,6 +3013,7 @@ static const TypeInfo cirrus_vga_info =3D { .parent =3D TYPE_PCI_DEVICE, .instance_size =3D sizeof(PCICirrusVGAState), .class_init =3D cirrus_vga_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, diff --git a/hw/display/qxl.c b/hw/display/qxl.c index 384b8767b8..d673663b3a 100644 --- a/hw/display/qxl.c +++ b/hw/display/qxl.c @@ -2566,6 +2566,7 @@ static const TypeInfo qxl_pci_type_info =3D { .parent =3D TYPE_PCI_DEVICE, .instance_size =3D sizeof(PCIQXLDevice), .abstract =3D true, + .secure =3D true, .class_init =3D qxl_pci_class_init, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, @@ -2589,6 +2590,7 @@ static const TypeInfo qxl_primary_info =3D { .name =3D "qxl-vga", .parent =3D TYPE_PCI_QXL, .class_init =3D qxl_primary_class_init, + .secure =3D true, }; module_obj("qxl-vga"); module_kconfig(QXL); @@ -2607,6 +2609,7 @@ static const TypeInfo qxl_secondary_info =3D { .name =3D "qxl", .parent =3D TYPE_PCI_QXL, .class_init =3D qxl_secondary_class_init, + .secure =3D true, }; module_obj("qxl"); =20 diff --git a/hw/display/ramfb-standalone.c b/hw/display/ramfb-standalone.c index 8e8ba37514..9427009acc 100644 --- a/hw/display/ramfb-standalone.c +++ b/hw/display/ramfb-standalone.c @@ -85,6 +85,7 @@ static const TypeInfo ramfb_info =3D { .parent =3D TYPE_DYNAMIC_SYS_BUS_DEVICE, .instance_size =3D sizeof(RAMFBStandaloneState), .class_init =3D ramfb_class_initfn, + .secure =3D true, }; =20 static void ramfb_register_types(void) diff --git a/hw/display/vga-mmio.c b/hw/display/vga-mmio.c index 3cd64951c0..65dbbed12d 100644 --- a/hw/display/vga-mmio.c +++ b/hw/display/vga-mmio.c @@ -132,6 +132,7 @@ static const TypeInfo vga_mmio_info =3D { .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(VGAMmioState), .class_init =3D vga_mmio_class_initfn, + .secure =3D true, }; =20 static void vga_mmio_register_types(void) diff --git a/hw/display/vga-pci.c b/hw/display/vga-pci.c index d089847bda..bb13eee8a2 100644 --- a/hw/display/vga-pci.c +++ b/hw/display/vga-pci.c @@ -367,6 +367,7 @@ static const TypeInfo vga_pci_type_info =3D { .parent =3D TYPE_PCI_DEVICE, .instance_size =3D sizeof(PCIVGAState), .abstract =3D true, + .secure =3D true, .class_init =3D vga_pci_class_init, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, @@ -407,6 +408,7 @@ static const TypeInfo vga_info =3D { .name =3D "VGA", .parent =3D TYPE_PCI_VGA, .class_init =3D vga_class_init, + .secure =3D true, }; =20 static const TypeInfo secondary_info =3D { @@ -414,6 +416,7 @@ static const TypeInfo secondary_info =3D { .parent =3D TYPE_PCI_VGA, .instance_init =3D pci_secondary_vga_init, .class_init =3D secondary_class_init, + .secure =3D true, }; =20 static void vga_register_types(void) --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137459; cv=none; d=zohomail.com; s=zohoarc; b=Et1pQ5pFj2ncux6D/qLJ/ZmYS+e4P1AxZ0qZ8lHIEiuiUx/Jiy3rdN2kkivXvjmzBwzt28/60FMH+Zcqwd6/TYMmHKyYsRJ1pH/6O1uhRPDRU5i9vSoJlp6YCAbU8/PZHkx7rMQSLEdwcgXq2O3KoEVou4Mbke6dxaMLeqf8n4c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137459; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=aPFHkXJSs0u/ISQJq2BRt28+2MaWYtAQufJCPx92BiY=; b=X27mLFUQwjd6GaEzTSeInEb5o+FdzHEi7+bZsIlNXjG4R8s/HM+6vD+zf+DpcsSuv+y6JLTX1GZOgT0yDlq0VapurFDNMjNUYF4phL9SZQbe2ffHVtE6Dh+yVHDkclr870QnuNCxaIkp6vxFdKY3jFgzS+lfg/cShAoUYvSEqCU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137459132522.0361715369897; Fri, 11 Sep 2026 07:37:39 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417104.1646099 (Exim 4.92) (envelope-from ) id 1x52NU-0000gQ-CQ; Fri, 11 Sep 2026 14:37:20 +0000 Received: by outflank-mailman (output) from mailman id 1417104.1646099; Fri, 11 Sep 2026 14:37:20 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52NT-0000dy-Tt; Fri, 11 Sep 2026 14:37:19 +0000 Received: by outflank-mailman (input) for mailman id 1417104; Fri, 11 Sep 2026 14:37:17 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52NR-0000Ec-Ls for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:37:17 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52NR-009Xr7-23 for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:37:17 +0200 Received: from [10.42.69.10] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa411ff-e002-0a2a0a5209dd-0a2a450a88f0-32 for ; Fri, 11 Sep 2026 16:37:17 +0200 Received: from [170.10.129.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa4121b-f2d2-0a2a450a0019-aa0a817ca307-3 for ; Fri, 11 Sep 2026 16:37:16 +0200 Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-195-tL51sFxgNQuw0u-1lM6utQ-1; Fri, 11 Sep 2026 10:37:12 -0400 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-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id D46641800671; Fri, 11 Sep 2026 14:37:10 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 1256F3000229; Fri, 11 Sep 2026 14:37:08 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137435; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=aPFHkXJSs0u/ISQJq2BRt28+2MaWYtAQufJCPx92BiY=; b=TPdd98mKrxNXL2+EIhIh10ltl/JLWBaLFfl54cozI6oTQbLaim9cIT2Q3avrt0lKHjEkbr SUEuQPExkrOvu8I4k5d0xCDjadi9P7Zv879tUUGwJ3y81pswFsWoqTH58BQtQdWa4WArOa tt7KhIqU38LYLhD7fdjfC8T6crjMpxQ= X-MC-Unique: tL51sFxgNQuw0u-1lM6utQ-1 X-Mimecast-MFC-AGG-ID: tL51sFxgNQuw0u-1lM6utQ_1789137431 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 18/28] hw/tpm: mark all TPM implementations as secure Date: Fri, 11 Sep 2026 15:36:17 +0100 Message-ID: <20260911143627.2743803-19-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: QzxV_2AUwi2OIMLVgJDOui59ym3Lxo759aLa6HiEk10_1789137431 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-4011c0/1789137437-593C4CFC-250E63C6/0/0 X-purgate-type: clean X-purgate-size: 3198 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137459626158500 All of the TPM implementations are in scope of virtualization usage, so mark them all as secure. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/ppc/spapr_tpm_proxy.c | 1 + hw/tpm/tpm_crb.c | 1 + hw/tpm/tpm_spapr.c | 1 + hw/tpm/tpm_tis_i2c.c | 1 + hw/tpm/tpm_tis_isa.c | 1 + hw/tpm/tpm_tis_sysbus.c | 1 + 6 files changed, 6 insertions(+) diff --git a/hw/ppc/spapr_tpm_proxy.c b/hw/ppc/spapr_tpm_proxy.c index 19889e80bc..bb6efec20c 100644 --- a/hw/ppc/spapr_tpm_proxy.c +++ b/hw/ppc/spapr_tpm_proxy.c @@ -166,6 +166,7 @@ static const TypeInfo spapr_tpm_proxy_info =3D { .parent =3D TYPE_DEVICE, .instance_size =3D sizeof(SpaprTpmProxy), .class_init =3D spapr_tpm_proxy_class_init, + .secure =3D true, }; =20 static void spapr_tpm_proxy_register_types(void) diff --git a/hw/tpm/tpm_crb.c b/hw/tpm/tpm_crb.c index 54fa2042b5..2e9445ad79 100644 --- a/hw/tpm/tpm_crb.c +++ b/hw/tpm/tpm_crb.c @@ -547,6 +547,7 @@ static const TypeInfo tpm_crb_info =3D { .parent =3D TYPE_DEVICE, .instance_size =3D sizeof(CRBState), .class_init =3D tpm_crb_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_TPM_IF }, { } diff --git a/hw/tpm/tpm_spapr.c b/hw/tpm/tpm_spapr.c index 19075d1f01..3957c5268b 100644 --- a/hw/tpm/tpm_spapr.c +++ b/hw/tpm/tpm_spapr.c @@ -414,6 +414,7 @@ static const TypeInfo tpm_spapr_info =3D { .parent =3D TYPE_VIO_SPAPR_DEVICE, .instance_size =3D sizeof(SpaprTpmState), .class_init =3D tpm_spapr_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_TPM_IF }, { } diff --git a/hw/tpm/tpm_tis_i2c.c b/hw/tpm/tpm_tis_i2c.c index b4f258c7bc..302296affb 100644 --- a/hw/tpm/tpm_tis_i2c.c +++ b/hw/tpm/tpm_tis_i2c.c @@ -551,6 +551,7 @@ static const TypeInfo tpm_tis_i2c_info =3D { .name =3D TYPE_TPM_TIS_I2C, .parent =3D TYPE_I2C_SLAVE, .instance_size =3D sizeof(TPMStateI2C), + .secure =3D true, .class_init =3D tpm_tis_i2c_class_init, .interfaces =3D (const InterfaceInfo[]) { { TYPE_TPM_IF }, diff --git a/hw/tpm/tpm_tis_isa.c b/hw/tpm/tpm_tis_isa.c index 2b1267133a..da3a932b03 100644 --- a/hw/tpm/tpm_tis_isa.c +++ b/hw/tpm/tpm_tis_isa.c @@ -187,6 +187,7 @@ static const TypeInfo tpm_tis_isa_info =3D { .instance_size =3D sizeof(TPMStateISA), .instance_init =3D tpm_tis_isa_initfn, .class_init =3D tpm_tis_isa_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_TPM_IF }, { TYPE_ACPI_DEV_AML_IF }, diff --git a/hw/tpm/tpm_tis_sysbus.c b/hw/tpm/tpm_tis_sysbus.c index a7b0002d82..0afb52c3be 100644 --- a/hw/tpm/tpm_tis_sysbus.c +++ b/hw/tpm/tpm_tis_sysbus.c @@ -167,6 +167,7 @@ static const TypeInfo tpm_tis_sysbus_info =3D { .instance_init =3D tpm_tis_sysbus_initfn, .instance_finalize =3D tpm_tis_sysbus_finalize, .class_init =3D tpm_tis_sysbus_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_TPM_IF }, { } --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137462; cv=none; d=zohomail.com; s=zohoarc; b=e5d1er2ir3i+W/RNfSjYquRHcTzS6yIT4HE2imL3uef70f7WyCdoHipj1r0UYJFdkaali8k9c9BAapYmOFeEm1GHo4VEp37QxtTG3SdWEA/4l4UZoO+2/ApG+yxEADEqDrtL2xxAwf3BIpsTqRojy1PAh/wR5vyQ6MbuFIb8V0I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137462; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=xemsx/xBv0DEBitYLoiJ5cnvCREZhOyx4JVbgw8hygU=; b=JH/jSvpyVgSRabvxYLB1WdGimr+BCR6f9AdsB6Zo1ny0Ptm3+iVUN2KuGAtXb4uzsl2QqrxzbKVTGiwyujvVPC1D8ts3UXZLKkxyZeSaBLndoMhF4pxke6Z5NfIKjAKelkwqXCUObZ+WyiHK2tv9DdrPJ+rVU6DapSFLZ+igA/A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137462029140.50885330566337; Fri, 11 Sep 2026 07:37:42 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417103.1646095 (Exim 4.92) (envelope-from ) id 1x52NT-0000VS-MJ; Fri, 11 Sep 2026 14:37:19 +0000 Received: by outflank-mailman (output) from mailman id 1417103.1646095; Fri, 11 Sep 2026 14:37:19 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52NT-0000U3-98; Fri, 11 Sep 2026 14:37:19 +0000 Received: by outflank-mailman (input) for mailman id 1417103; Fri, 11 Sep 2026 14:37:17 +0000 Received: from mx.expurgate.net ([194.145.224.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52NR-0000Eu-M7 for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:37:17 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52NR-002Y6Q-34 for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:37:17 +0200 Received: from [10.42.69.8] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa41211-8faa-0a2a0a5109dd-0a2a4508a7b8-20 for ; Fri, 11 Sep 2026 16:37:17 +0200 Received: from [170.10.133.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa4121b-f659-0a2a45080019-aa0a857c7fe5-3 for ; Fri, 11 Sep 2026 16:37:16 +0200 Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-610-4E2YGmFpOKqs7_tv22KEXQ-1; Fri, 11 Sep 2026 10:37:14 -0400 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-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 183951801352; Fri, 11 Sep 2026 14:37:13 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 31F6E3000229; Fri, 11 Sep 2026 14:37:11 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137435; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=xemsx/xBv0DEBitYLoiJ5cnvCREZhOyx4JVbgw8hygU=; b=LdPE0R3FcpJ++zjxQmOQhbh9Qu4vffEPSesGKfLqJiHeN5hiAgziRbxJx3Nl2wLPLdfTVo xgGnX2yieKeQi8xL/N/xtIUDEPSLEpRADJuhcag+qd3DMJiYbR7S5PSUKU7CnFKq+YNpd3 bWk1cxrv5cIVXEO8uOfJTYzQLYYdg8w= X-MC-Unique: 4E2YGmFpOKqs7_tv22KEXQ-1 X-Mimecast-MFC-AGG-ID: 4E2YGmFpOKqs7_tv22KEXQ_1789137433 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 19/28] hw/misc: mark pvpanic, vmcoreinfo as secure Date: Fri, 11 Sep 2026 15:36:18 +0100 Message-ID: <20260911143627.2743803-20-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: t3IsF9gWR1tzs7xkqtSHsRHnRX9KeL27IhDv_jqKFvM_1789137433 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-c1860d/1789137437-D534D87B-836A52B1/0/0 X-purgate-type: clean X-purgate-size: 2171 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137463638158500 The first two devices are common debug aids for virtualized guests so must be marked secure. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/misc/pvpanic-isa.c | 1 + hw/misc/pvpanic-mmio.c | 1 + hw/misc/pvpanic-pci.c | 1 + hw/misc/vmcoreinfo.c | 1 + 4 files changed, 4 insertions(+) diff --git a/hw/misc/pvpanic-isa.c b/hw/misc/pvpanic-isa.c index 85fb7da5e5..bb0a7ff6f8 100644 --- a/hw/misc/pvpanic-isa.c +++ b/hw/misc/pvpanic-isa.c @@ -121,6 +121,7 @@ static const TypeInfo pvpanic_isa_info =3D { .instance_size =3D sizeof(PVPanicISAState), .instance_init =3D pvpanic_isa_initfn, .class_init =3D pvpanic_isa_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_ACPI_DEV_AML_IF }, { }, diff --git a/hw/misc/pvpanic-mmio.c b/hw/misc/pvpanic-mmio.c index a173a1a9a5..161e8fc59b 100644 --- a/hw/misc/pvpanic-mmio.c +++ b/hw/misc/pvpanic-mmio.c @@ -50,6 +50,7 @@ static const TypeInfo pvpanic_mmio_info =3D { .instance_size =3D sizeof(PVPanicMMIOState), .instance_init =3D pvpanic_mmio_initfn, .class_init =3D pvpanic_mmio_class_init, + .secure =3D true, }; =20 static void pvpanic_register_types(void) diff --git a/hw/misc/pvpanic-pci.c b/hw/misc/pvpanic-pci.c index 5509f70a3e..7d1f99d564 100644 --- a/hw/misc/pvpanic-pci.c +++ b/hw/misc/pvpanic-pci.c @@ -80,6 +80,7 @@ static const TypeInfo pvpanic_pci_info =3D { .parent =3D TYPE_PCI_DEVICE, .instance_size =3D sizeof(PVPanicPCIState), .class_init =3D pvpanic_pci_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { } diff --git a/hw/misc/vmcoreinfo.c b/hw/misc/vmcoreinfo.c index 9c2e9005ad..90f361b05f 100644 --- a/hw/misc/vmcoreinfo.c +++ b/hw/misc/vmcoreinfo.c @@ -101,6 +101,7 @@ static const TypeInfo vmcoreinfo_types[] =3D { .parent =3D TYPE_DEVICE, .instance_size =3D sizeof(VMCoreInfoState), .class_init =3D vmcoreinfo_device_class_init, + .secure =3D true, } }; =20 --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137587; cv=none; d=zohomail.com; s=zohoarc; b=dOvJmdrDPq0LJtuMbtuJAUUXJYkDwquzxiyh940/B51Ek/jrgMbjVeOUMpiw94iEDXpbBFCgJN4zKjV7DIGTjs3vn3qo92UGwwse/dDBiGX3W4rjkuCfUIFCuDwxQQFHMfnN5SdNKM4GUsqyDePQziubj0tbpoRpBwBYKXPkrwU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137587; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=yxYKHi5v7tz+GMZ37WJGGk/4FLpJ0TR7q5S8Sx5LFw0=; b=hK+wwduHpU7gvYSRZhdnXlE1Tnu3AO4NJ4xcKFiQaIoSa4rRtUue+jH6lwbK7/IAHSkNCXEFu01P7Fi9KvaUN0d+yG8e2R1L+ToobohLKA/NB49LoVfe8Gd1oehTHNwecsIxvORhmk95qnhX1Vvp2mXk5jksGVnDFCU2Wp8FjM0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137587551458.98744661692615; Fri, 11 Sep 2026 07:39:47 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417199.1646117 (Exim 4.92) (envelope-from ) id 1x52PU-0005dp-A4; Fri, 11 Sep 2026 14:39:24 +0000 Received: by outflank-mailman (output) from mailman id 1417199.1646117; Fri, 11 Sep 2026 14:39:24 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52PU-0005di-6n; Fri, 11 Sep 2026 14:39:24 +0000 Received: by outflank-mailman (input) for mailman id 1417199; Fri, 11 Sep 2026 14:39:23 +0000 Received: from mx.expurgate.net ([194.145.224.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52PS-0005dZ-VA for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:39:22 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52PS-002YOl-C3 for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:39:22 +0200 Received: from [10.42.69.2] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa41279-e002-0a2a0a5209dd-0a2a4502a2b6-34 for ; Fri, 11 Sep 2026 16:39:21 +0200 Received: from [170.10.129.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa41220-6ca4-0a2a45020019-aa0a817ce1a3-3 for ; Fri, 11 Sep 2026 16:37:21 +0200 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-179-i4RerftSO0aK-nu0DOj5Rw-1; Fri, 11 Sep 2026 10:37:16 -0400 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 757F7195396B; Fri, 11 Sep 2026 14:37:15 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 69BE13000229; Fri, 11 Sep 2026 14:37:13 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=yxYKHi5v7tz+GMZ37WJGGk/4FLpJ0TR7q5S8Sx5LFw0=; b=a5QGiJmA29zF3+QH9Eyei17CDCrGRKhnf2gIcnjH5RW4m8AmnImlmx9lr2Q0ddndm1Cmsl IewKgn4Ex5EKEXWjkGEfxKXxfVGOqsL1M5xf0YVTnaS+qvixmnbSLCDGaXLFVaRsj1TWjq yApWawm+g/2iSZRP49Fu84xYuiLgk1k= X-MC-Unique: i4RerftSO0aK-nu0DOj5Rw-1 X-Mimecast-MFC-AGG-ID: i4RerftSO0aK-nu0DOj5Rw_1789137435 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 20/28] hw/audio: mark Intel HDA devices & codecs as secure Date: Fri, 11 Sep 2026 15:36:19 +0100 Message-ID: <20260911143627.2743803-21-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: nH0m4iIitaD4-bE8UTXjnySWV85butJqAJYYVz_Ksgc_1789137435 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-720697/1789137441-678BC2AC-DED402DC/0/0 X-purgate-type: clean X-purgate-size: 3233 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137588368158500 This is traditionally the primary audio backend for x86 as virtio-snd is a relatively new invention. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/audio/hda-codec.c | 4 ++++ hw/audio/intel-hda.c | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/hw/audio/hda-codec.c b/hw/audio/hda-codec.c index 173fe56bea..05bd35700f 100644 --- a/hw/audio/hda-codec.c +++ b/hw/audio/hda-codec.c @@ -858,6 +858,7 @@ static const TypeInfo hda_audio_info =3D { .instance_size =3D sizeof(HDAAudioState), .class_init =3D hda_audio_base_class_init, .abstract =3D true, + .secure =3D true, }; =20 static void hda_audio_output_class_init(ObjectClass *klass, const void *da= ta) @@ -873,6 +874,7 @@ static const TypeInfo hda_audio_output_info =3D { .name =3D "hda-output", .parent =3D TYPE_HDA_AUDIO, .class_init =3D hda_audio_output_class_init, + .secure =3D true, }; =20 static void hda_audio_duplex_class_init(ObjectClass *klass, const void *da= ta) @@ -888,6 +890,7 @@ static const TypeInfo hda_audio_duplex_info =3D { .name =3D "hda-duplex", .parent =3D TYPE_HDA_AUDIO, .class_init =3D hda_audio_duplex_class_init, + .secure =3D true, }; =20 static void hda_audio_micro_class_init(ObjectClass *klass, const void *dat= a) @@ -903,6 +906,7 @@ static const TypeInfo hda_audio_micro_info =3D { .name =3D "hda-micro", .parent =3D TYPE_HDA_AUDIO, .class_init =3D hda_audio_micro_class_init, + .secure =3D true, }; =20 static void hda_audio_register_types(void) diff --git a/hw/audio/intel-hda.c b/hw/audio/intel-hda.c index 3d361a4976..34ca1e713c 100644 --- a/hw/audio/intel-hda.c +++ b/hw/audio/intel-hda.c @@ -45,6 +45,7 @@ static const TypeInfo hda_codec_bus_info =3D { .name =3D TYPE_HDA_BUS, .parent =3D TYPE_BUS, .instance_size =3D sizeof(HDACodecBus), + .secure =3D true, }; =20 void hda_codec_bus_init(DeviceState *dev, HDACodecBus *bus, size_t bus_siz= e, @@ -1265,6 +1266,7 @@ static const TypeInfo intel_hda_info =3D { .instance_size =3D sizeof(IntelHDAState), .class_init =3D intel_hda_class_init, .abstract =3D true, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, @@ -1275,12 +1277,14 @@ static const TypeInfo intel_hda_info_ich6 =3D { .name =3D "intel-hda", .parent =3D TYPE_INTEL_HDA_GENERIC, .class_init =3D intel_hda_class_init_ich6, + .secure =3D true, }; =20 static const TypeInfo intel_hda_info_ich9 =3D { .name =3D "ich9-intel-hda", .parent =3D TYPE_INTEL_HDA_GENERIC, .class_init =3D intel_hda_class_init_ich9, + .secure =3D true, }; =20 static void hda_codec_device_class_init(ObjectClass *klass, const void *da= ta) @@ -1298,6 +1302,7 @@ static const TypeInfo hda_codec_device_type_info =3D { .parent =3D TYPE_DEVICE, .instance_size =3D sizeof(HDACodecDevice), .abstract =3D true, + .secure =3D true, .class_size =3D sizeof(HDACodecDeviceClass), .class_init =3D hda_codec_device_class_init, }; --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137579; cv=none; d=zohomail.com; s=zohoarc; b=mJsbYOBMPzoOuzIzrZZw0ycacDGuI0L83eRxCjKhjrWZh0t0opvAXS+8fLiue+u+V775ZLbHvTiosds2NWuOvyCR4Tc3vdvCspYMVMRs4ahPEjYFyfg6vv5pv2fJps6UwNx+ymG1NbX3uR6YXAo527DA2Hbu8Mp1fBnEZ0/ETM8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137579; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=wEyJiloIxtptu0W9QtcTvVPDda5vfdApyxEeJL8U5FU=; b=KcNTbiHNaFVcFCXHZOEFaP9VEpZuARuwR1bGnYBklSel4QquJiyk/ajOw624q+MDI3WR4fKokPmDvL9smSnT9E7hfJfKGrnmJ7KDw8ERD1IXunUceQvqydAHFGSbQ6xWybTcr4gNLEtnokf02MNMnJIMcneVxQOEYpOEAF98jo8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137579017129.61771063284198; Fri, 11 Sep 2026 07:39:39 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417201.1646125 (Exim 4.92) (envelope-from ) id 1x52PX-00063b-HY; Fri, 11 Sep 2026 14:39:27 +0000 Received: by outflank-mailman (output) from mailman id 1417201.1646125; Fri, 11 Sep 2026 14:39:27 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52PX-00063Q-EW; Fri, 11 Sep 2026 14:39:27 +0000 Received: by outflank-mailman (input) for mailman id 1417201; Fri, 11 Sep 2026 14:39:25 +0000 Received: from mx.expurgate.net ([194.145.224.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52PV-0005nQ-Fs for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:39:25 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52PU-008k5A-I2 for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:39:24 +0200 Received: from [10.42.69.5] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa41275-2eae-0a2a0a5409dd-0a2a4505e0b0-40 for ; Fri, 11 Sep 2026 16:39:24 +0200 Received: from [170.10.129.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa41222-4cb1-0a2a45050019-aa0a817cdb89-3 for ; Fri, 11 Sep 2026 16:37:23 +0200 Received: from mx-prod-mc-01.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-59-W42a8qfsNH2p7bdSc5eAqg-1; Fri, 11 Sep 2026 10:37:19 -0400 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-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 9690319541AA; Fri, 11 Sep 2026 14:37:17 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id C76CA3000229; Fri, 11 Sep 2026 14:37:15 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137442; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=wEyJiloIxtptu0W9QtcTvVPDda5vfdApyxEeJL8U5FU=; b=WUUgZSvVfdA5XUWUE3nyUAuBSv/tS7e8UxxPbJOb/3deIMCtkoJWRGD5AbM5yUsn8Co7Jy vdQWHUH6jKjUq4yIZWnn0BwkGH+uGtHoMS9Yv0NVdHqdbcQBLNue8MIwVSpy2CT3389WWZ GZCXG5UQ8sRNOsJaOHvqCNLId5L+Lbc= X-MC-Unique: W42a8qfsNH2p7bdSc5eAqg-1 X-Mimecast-MFC-AGG-ID: W42a8qfsNH2p7bdSc5eAqg_1789137437 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 21/28] hw/char: mark common serial / console devicess a secure Date: Fri, 11 Sep 2026 15:36:20 +0100 Message-ID: <20260911143627.2743803-22-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: egqsuJbCNv6NvGCHPcrj9xmModWFebiQUSDHOyWFhAA_1789137437 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-c201ff/1789137443-F7CB82A1-49007513/0/0 X-purgate-type: clean X-purgate-size: 3524 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137580562158500 These are needed as a baseline feature for many virtualization use cases on x86, PPC64 and s390x. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/char/debugcon.c | 1 + hw/char/sclpconsole-lm.c | 1 + hw/char/sclpconsole.c | 1 + hw/char/serial-isa.c | 1 + hw/char/serial-pci.c | 1 + hw/char/serial.c | 1 + hw/char/spapr_vty.c | 1 + 7 files changed, 7 insertions(+) diff --git a/hw/char/debugcon.c b/hw/char/debugcon.c index a1b370b90b..f38ce7b765 100644 --- a/hw/char/debugcon.c +++ b/hw/char/debugcon.c @@ -134,6 +134,7 @@ static const TypeInfo debugcon_isa_info =3D { .parent =3D TYPE_ISA_DEVICE, .instance_size =3D sizeof(ISADebugconState), .class_init =3D debugcon_isa_class_initfn, + .secure =3D true, }; =20 static void debugcon_register_types(void) diff --git a/hw/char/sclpconsole-lm.c b/hw/char/sclpconsole-lm.c index f6ed282f1b..4261652735 100644 --- a/hw/char/sclpconsole-lm.c +++ b/hw/char/sclpconsole-lm.c @@ -363,6 +363,7 @@ static const TypeInfo sclp_console_info =3D { .instance_size =3D sizeof(SCLPConsoleLM), .class_init =3D console_class_init, .class_size =3D sizeof(SCLPEventClass), + .secure =3D true, }; =20 static void register_types(void) diff --git a/hw/char/sclpconsole.c b/hw/char/sclpconsole.c index 179d12745c..04a951089a 100644 --- a/hw/char/sclpconsole.c +++ b/hw/char/sclpconsole.c @@ -278,6 +278,7 @@ static const TypeInfo sclp_console_info =3D { .instance_size =3D sizeof(SCLPConsole), .class_init =3D console_class_init, .class_size =3D sizeof(SCLPEventClass), + .secure =3D true, }; =20 static void register_types(void) diff --git a/hw/char/serial-isa.c b/hw/char/serial-isa.c index eaa4e843c0..5df87590b7 100644 --- a/hw/char/serial-isa.c +++ b/hw/char/serial-isa.c @@ -147,6 +147,7 @@ static const TypeInfo serial_isa_info =3D { .instance_size =3D sizeof(ISASerialState), .instance_init =3D serial_isa_initfn, .class_init =3D serial_isa_class_initfn, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_ACPI_DEV_AML_IF }, { }, diff --git a/hw/char/serial-pci.c b/hw/char/serial-pci.c index d8cacc9085..183091ea41 100644 --- a/hw/char/serial-pci.c +++ b/hw/char/serial-pci.c @@ -109,6 +109,7 @@ static const TypeInfo serial_pci_info =3D { .instance_size =3D sizeof(PCISerialState), .instance_init =3D serial_pci_init, .class_init =3D serial_pci_class_initfn, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, diff --git a/hw/char/serial.c b/hw/char/serial.c index 4339562ab0..fefd2cf9fc 100644 --- a/hw/char/serial.c +++ b/hw/char/serial.c @@ -984,6 +984,7 @@ static const TypeInfo serial_info =3D { .parent =3D TYPE_DEVICE, .instance_size =3D sizeof(SerialState), .class_init =3D serial_class_init, + .secure =3D true, }; =20 static void serial_register_types(void) diff --git a/hw/char/spapr_vty.c b/hw/char/spapr_vty.c index 1dd9fb155c..96a4e58ad9 100644 --- a/hw/char/spapr_vty.c +++ b/hw/char/spapr_vty.c @@ -201,6 +201,7 @@ static const TypeInfo spapr_vty_info =3D { .parent =3D TYPE_VIO_SPAPR_DEVICE, .instance_size =3D sizeof(SpaprVioVty), .class_init =3D spapr_vty_class_init, + .secure =3D true, }; =20 SpaprVioDevice *spapr_vty_get_default(SpaprVioBus *bus) --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137610; cv=none; d=zohomail.com; s=zohoarc; b=bANhvkvSdlsR2+Gs/Cb5dlRQFnWipECAE6tR3WFC25Ny1SguLed04p5PvaZjQ6dFAJ8hUb2H/9AwqDAKlfgZ+8XotOKZp7NToDaUfrHLZSvtXo9k3yGcaGWfNjaBMzCDeJXgNplJNZwSja00Udk/XwM1bp6UgmHXtseNxF7XGOg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137610; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=8kxcCgP5PTMsq/qRVeHwqOnLQiiXhy3S28nEGioaumU=; b=eZtOch3KyoXFbaFUKmL9elJijwX55cQ6geNw6la7CyPKqwY4J4aoIeYgYlOxguDp94c6Qaza3dLV2iZ85gELuu2Ighz89Pbace3fXAE/LSi7S2ZW5OMmCKzgwYYLJXfdQ/6C5sLjGEtrR27QwQYYktF8gAbBVAM2SMoOVpg8rxI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137610156544.3496476389522; Fri, 11 Sep 2026 07:40:10 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417224.1646160 (Exim 4.92) (envelope-from ) id 1x52Pu-0007k2-QZ; Fri, 11 Sep 2026 14:39:50 +0000 Received: by outflank-mailman (output) from mailman id 1417224.1646160; Fri, 11 Sep 2026 14:39:50 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52Pu-0007jJ-Nm; Fri, 11 Sep 2026 14:39:50 +0000 Received: by outflank-mailman (input) for mailman id 1417224; Fri, 11 Sep 2026 14:39:48 +0000 Received: from mx.expurgate.net ([194.145.224.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52Ps-0007eB-Lt for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:39:48 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52Ps-008k9i-2k for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:39:48 +0200 Received: from [10.42.69.9] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa412aa-bab6-0a2a0a5309dd-0a2a4509a44a-14 for ; Fri, 11 Sep 2026 16:39:47 +0200 Received: from [170.10.129.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa4123a-be1a-0a2a45090019-aa0a817cd06b-3 for ; Fri, 11 Sep 2026 16:37:47 +0200 Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-509-K8Q0iPxAPu2Rsbr4sUyPuQ-1; Fri, 11 Sep 2026 10:37:43 -0400 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-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id C452D180123E; Fri, 11 Sep 2026 14:37:19 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id E727B300022B; Fri, 11 Sep 2026 14:37:17 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137466; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=8kxcCgP5PTMsq/qRVeHwqOnLQiiXhy3S28nEGioaumU=; b=c2tmHbHmoN6B9wrBze6VobS1WFF5+/qpYqSUFp2ZpgsZy/8dlQmnc4SbTXN3JCupMQfubr nRE8dhGlWGqrOcCXaERcxpjnoVjeXdkrAsKDaccuTToJeTJyeKYVisz1604xAJ2QF17oJ0 KF4iKaAEOkGWnfZ5vm0HBzDhV+BOj2A= X-MC-Unique: K8Q0iPxAPu2Rsbr4sUyPuQ-1 X-Mimecast-MFC-AGG-ID: K8Q0iPxAPu2Rsbr4sUyPuQ_1789137461 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 22/28] hw/mem: mark nvdimm, pc-dimm & spapr-nvdimm devices as secure Date: Fri, 11 Sep 2026 15:36:21 +0100 Message-ID: <20260911143627.2743803-23-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: L9eBzhMOFLTgbNKmsAnDW2ZxREGcQk6bb27nofWQXj0_1789137461 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-bad1c0/1789137467-FC212034-8097E210/13/0 X-purgate-type: clean X-purgate-size: 1590 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137610495158500 These devices are used in virutalization scenarios to support memory hotplug and other uses cases. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/mem/nvdimm.c | 1 + hw/mem/pc-dimm.c | 1 + hw/ppc/spapr_nvdimm.c | 1 + 3 files changed, 3 insertions(+) diff --git a/hw/mem/nvdimm.c b/hw/mem/nvdimm.c index cf8a4d8c5f..9a57579845 100644 --- a/hw/mem/nvdimm.c +++ b/hw/mem/nvdimm.c @@ -275,6 +275,7 @@ static const TypeInfo nvdimm_info =3D { .instance_size =3D sizeof(NVDIMMDevice), .instance_init =3D nvdimm_init, .instance_finalize =3D nvdimm_finalize, + .secure =3D true, }; =20 static void nvdimm_register_types(void) diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c index 68862926ee..89fd06724c 100644 --- a/hw/mem/pc-dimm.c +++ b/hw/mem/pc-dimm.c @@ -301,6 +301,7 @@ static const TypeInfo pc_dimm_info =3D { .instance_init =3D pc_dimm_init, .class_init =3D pc_dimm_class_init, .class_size =3D sizeof(PCDIMMDeviceClass), + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_MEMORY_DEVICE }, { } diff --git a/hw/ppc/spapr_nvdimm.c b/hw/ppc/spapr_nvdimm.c index 6647428391..b927cf21b8 100644 --- a/hw/ppc/spapr_nvdimm.c +++ b/hw/ppc/spapr_nvdimm.c @@ -916,6 +916,7 @@ static TypeInfo spapr_nvdimm_info =3D { .class_size =3D sizeof(SPAPRNVDIMMClass), .instance_size =3D sizeof(SpaprNVDIMMDevice), .instance_init =3D spapr_nvdimm_init, + .secure =3D true, }; =20 static void spapr_nvdimm_register_types(void) --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137613; cv=none; d=zohomail.com; s=zohoarc; b=GsA2CuIL+BfCZ5Vd6mizFwr24Pvv1izSRNwiAtTBBGUJvdpfjki2IpOnHNZPho4HuAG63+Ko9rLW/pTdtnfBolzSgw9mzI2dbmtTkprjmbR/xSUMWLjDlf+K2XjlqwZUuYxSbm6DX8iEi8uS8ltDMiXSke/uNBOAZqk9QUuZEC4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137613; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=qMFoXRSqJagVBm5GVPbfKFycLqDC+N9k5/iDYiZvJ88=; b=A97YSN7giO6vOj0aYy0oouqyqIvvBXuRtdulk2PdJ76+2IvJvhXM/Zv5DLFGn6l15YzAmLdp1uEl6efgFaaD4VMTKSZYg2hoyijBcZCXojUP/HqE6USiXLyo4+Q4LCNy3IoIx72rISFtmUosmizaDaczR0E1YuigKvEPVAkvcU4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137613018865.832441801216; Fri, 11 Sep 2026 07:40:13 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417209.1646145 (Exim 4.92) (envelope-from ) id 1x52Pd-0006VN-DH; Fri, 11 Sep 2026 14:39:33 +0000 Received: by outflank-mailman (output) from mailman id 1417209.1646145; Fri, 11 Sep 2026 14:39:33 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52Pd-0006U5-7d; Fri, 11 Sep 2026 14:39:33 +0000 Received: by outflank-mailman (input) for mailman id 1417209; Fri, 11 Sep 2026 14:39:32 +0000 Received: from mx.expurgate.net ([195.190.135.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52Pc-0006KL-C7 for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:39:32 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52Pb-0065ri-NA for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:39:31 +0200 Received: from [10.42.69.6] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa4128c-8faa-0a2a0a5109dd-0a2a4506e9d8-36 for ; Fri, 11 Sep 2026 16:39:31 +0200 Received: from [170.10.133.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa4122a-195a-0a2a45060019-aa0a857c6711-3 for ; Fri, 11 Sep 2026 16:37:31 +0200 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-232-8svhV57tPAqXhzJY7uftTA-1; Fri, 11 Sep 2026 10:37:23 -0400 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 18A691955BFC; Fri, 11 Sep 2026 14:37:22 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 2E31F300022B; Fri, 11 Sep 2026 14:37:20 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137450; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=qMFoXRSqJagVBm5GVPbfKFycLqDC+N9k5/iDYiZvJ88=; b=cpZwh6/zt5ZenNBlGS/OxqpsSY3ZPa/Mp3ho/XNs+3k5My2D6UKpyjjoCiuUOstP3yyDoQ mKA0b9TPMXPoIaH2LSXn1rQGSveZVDksaOMuSGgKzy6ZLvB9brYN5643cm2YoUIplQTpgg F1eVj0Nd52/Ll8QsoqM0YYgPYrjQiYI= X-MC-Unique: 8svhV57tPAqXhzJY7uftTA-1 X-Mimecast-MFC-AGG-ID: 8svhV57tPAqXhzJY7uftTA_1789137442 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 23/28] hw/uefi: mark the EFI vars service as secure Date: Fri, 11 Sep 2026 15:36:22 +0100 Message-ID: <20260911143627.2743803-24-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: UxreJGr_N71FBDcD-qylAaRQauCduqUFmhv_jJSMVv8_1789137442 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-16d1c6/1789137451-1F6C877B-C1D8025D/13/0 X-purgate-type: clean X-purgate-size: 990 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137614588158500 This is used to persist EFI variables when NVRAM is not available or undesirable. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/uefi/var-service-sysbus.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hw/uefi/var-service-sysbus.c b/hw/uefi/var-service-sysbus.c index 97a96cae6a..6bec14733b 100644 --- a/hw/uefi/var-service-sysbus.c +++ b/hw/uefi/var-service-sysbus.c @@ -84,6 +84,7 @@ static const TypeInfo uefi_vars_sysbus_info =3D { .instance_size =3D sizeof(uefi_vars_sysbus_state), .instance_init =3D uefi_vars_sysbus_init, .class_init =3D uefi_vars_sysbus_class_init, + .secure =3D true, }; module_obj(TYPE_UEFI_VARS_SYSBUS); =20 @@ -113,6 +114,7 @@ static const TypeInfo uefi_vars_x64_info =3D { .name =3D TYPE_UEFI_VARS_X64, .parent =3D TYPE_UEFI_VARS_SYSBUS, .class_init =3D uefi_vars_x64_class_init, + .secure =3D true, }; module_obj(TYPE_UEFI_VARS_X64); =20 --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137598; cv=none; d=zohomail.com; s=zohoarc; b=Ow7g9RfL117LoweFdP8BQvmug9b/ha7MPhDs8A0I/8zwAMjAO6rGEZiqCaxL44OJ6N3o1L4muh7gMwgA7S+D5iH1KI5eOKbVsVMEJEEqrCZ5iuXRTxEB2rHcs5jl0YqWaMucMCYcBEZkgTVIsWApwdgFd91XNdhxZanwvj4igFA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137598; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=cNbkkFHCYKpbxfWO4D+I7H8XxjKgGoTqJimeW8ycrfY=; b=OptKOYQpTGzAcBiEiNXUOMckqx1J8FMVOKGT4p9XZvgZHBBUVtG1Ne4680d7rdQJBoI2jvSXEo4o3ZZUukbdfsKeHmv4j30GIxx6Lb79kConDDI42jMbHwwnrj/5RB9lqbh44aYdx1P+Rh5VYlg6Bzs7j6RoTB1hi8kYe2yLhQ8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137598417225.8208876018042; Fri, 11 Sep 2026 07:39:58 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417207.1646134 (Exim 4.92) (envelope-from ) id 1x52Pc-0006Kv-Nq; Fri, 11 Sep 2026 14:39:32 +0000 Received: by outflank-mailman (output) from mailman id 1417207.1646134; Fri, 11 Sep 2026 14:39:32 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52Pc-0006Kk-KM; Fri, 11 Sep 2026 14:39:32 +0000 Received: by outflank-mailman (input) for mailman id 1417207; Fri, 11 Sep 2026 14:39:31 +0000 Received: from mx.expurgate.net ([194.145.224.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52Pb-0006Jp-Ob for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:39:31 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52Pb-008k5A-54 for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:39:31 +0200 Received: from [10.42.69.3] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa41280-2eae-0a2a0a5409dd-0a2a45039fec-34 for ; Fri, 11 Sep 2026 16:39:31 +0200 Received: from [170.10.129.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa41229-fae8-0a2a45030019-aa0a817cb83d-3 for ; Fri, 11 Sep 2026 16:37:30 +0200 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-517-snL57JxmM_i6WZC-vCI9tQ-1; Fri, 11 Sep 2026 10:37:26 -0400 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 398031955DD1; Fri, 11 Sep 2026 14:37:24 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 69BE23000229; Fri, 11 Sep 2026 14:37:22 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=cNbkkFHCYKpbxfWO4D+I7H8XxjKgGoTqJimeW8ycrfY=; b=WXyBeFZ9AySlJ1F+vco5uWIpC5zz/McJmXRjSosN4O0quXa3vtqF56Jbn6/b4Bi0l/38Qw G1IRAODGVZ2A8eckarPKjqVn/WlmC+TnFrfpKkvB/q8JGo243h/MjrmEcGYil4CdD5/716 IjJdZX00fKKgNAey/zQNQHs+5d9/lEY= X-MC-Unique: snL57JxmM_i6WZC-vCI9tQ-1 X-Mimecast-MFC-AGG-ID: snL57JxmM_i6WZC-vCI9tQ_1789137444 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 24/28] hw/acpi: mark erst, vmclock and vmgenid devices as secure Date: Fri, 11 Sep 2026 15:36:23 +0100 Message-ID: <20260911143627.2743803-25-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: Hl9n_7seTJtGRNdjwWJHf7YIsI3TepTT0LKda-XYXZ8_1789137444 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-33051d/1789137451-74A894E9-10EC1B5B/13/0 X-purgate-type: clean X-purgate-size: 1585 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137600421158500 These are all used in virtualization scenarios so must be declare to provide a security boundary Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/acpi/erst.c | 1 + hw/acpi/vmclock.c | 1 + hw/acpi/vmgenid.c | 1 + 3 files changed, 3 insertions(+) diff --git a/hw/acpi/erst.c b/hw/acpi/erst.c index b6c1942e30..44560004a5 100644 --- a/hw/acpi/erst.c +++ b/hw/acpi/erst.c @@ -1044,6 +1044,7 @@ static const TypeInfo erst_type_info =3D { .parent =3D TYPE_PCI_DEVICE, .class_init =3D erst_class_init, .instance_size =3D sizeof(ERSTDeviceState), + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { } diff --git a/hw/acpi/vmclock.c b/hw/acpi/vmclock.c index d51cab2e20..b545354600 100644 --- a/hw/acpi/vmclock.c +++ b/hw/acpi/vmclock.c @@ -169,6 +169,7 @@ static const TypeInfo vmclock_device_info =3D { .parent =3D TYPE_DEVICE, .instance_size =3D sizeof(VmclockState), .class_init =3D vmclock_device_class_init, + .secure =3D true, }; =20 static void vmclock_register_types(void) diff --git a/hw/acpi/vmgenid.c b/hw/acpi/vmgenid.c index 27cc0128d1..67f815d8a1 100644 --- a/hw/acpi/vmgenid.c +++ b/hw/acpi/vmgenid.c @@ -236,6 +236,7 @@ static const TypeInfo vmgenid_device_info =3D { .parent =3D TYPE_DEVICE, .instance_size =3D sizeof(VmGenIdState), .class_init =3D vmgenid_device_class_init, + .secure =3D true, }; =20 static void vmgenid_register_types(void) --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137588; cv=none; d=zohomail.com; s=zohoarc; b=J4/JDdF/rDgKHYydYLK9GXMejJwoQk5WPfdJ2zo8FMoC+3tOFOMpxJnNW1h3MlEIY6I2RYJsLkN7Tk4/20+13dgDMrCclwnoXShEDBJOxFddjFw4j7kjAytgP69l2XeBvUsVtZ5CC2NBSWMQTEHgKuZ6gJmN9DIfFxqv5vk/DEg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137588; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Ty7jgU/VRH/YaPH0fwHwHbb1p4FYEmeRhPcsE2aO8tg=; b=a1lIGRRU1yywRaQkl12Pb6fVb3cmiVRxZcMABqr1PzQby+bTxAYh+tI5SJD608gGiKwPB48gRwcHZbaIkMr3jtvOg2PUwHJ1gACPRj6tLsuG7Awm/bQ0oBNLk7W7TwN0/KSLQU2Lu3kg9XaAf5bH47hNEjMGeMCOXrRPruuedlY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137588556394.6320225759205; Fri, 11 Sep 2026 07:39:48 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417208.1646138 (Exim 4.92) (envelope-from ) id 1x52Pc-0006Np-VP; Fri, 11 Sep 2026 14:39:32 +0000 Received: by outflank-mailman (output) from mailman id 1417208.1646138; Fri, 11 Sep 2026 14:39:32 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52Pc-0006Nc-SD; Fri, 11 Sep 2026 14:39:32 +0000 Received: by outflank-mailman (input) for mailman id 1417208; Fri, 11 Sep 2026 14:39:32 +0000 Received: from mx.expurgate.net ([194.145.224.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52Pc-0006K3-0q for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:39:32 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52Pb-002YOl-Dq for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:39:31 +0200 Received: from [10.42.69.11] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa41299-e002-0a2a0a5209dd-0a2a450b8d1c-24 for ; Fri, 11 Sep 2026 16:39:31 +0200 Received: from [170.10.133.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa4122a-b7e8-0a2a450b0019-aa0a857c6b7f-3 for ; Fri, 11 Sep 2026 16:37:31 +0200 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-318-pyBOGgksO1SEGyquYx9xNw-1; Fri, 11 Sep 2026 10:37:27 -0400 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 727321955DCD; Fri, 11 Sep 2026 14:37:26 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 899033000229; Fri, 11 Sep 2026 14:37:24 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Ty7jgU/VRH/YaPH0fwHwHbb1p4FYEmeRhPcsE2aO8tg=; b=JeBQ0LbOY3P9jyAlUqmxv8tRJQd9QgpaFuCzqbKEd1GR81IGZPN2IE9GVGD+tXTC4bnor6 c2TsjPVMjLVjfHEeDkZQ0ENTS8wesfuNyZAE036jBsMLzPZ4xIxI7IXLvazQ8v+y0wPP+e in9v8/QxboakODil5FKtR8IqK6BD29s= X-MC-Unique: pyBOGgksO1SEGyquYx9xNw-1 X-Mimecast-MFC-AGG-ID: pyBOGgksO1SEGyquYx9xNw_1789137446 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 25/28] hw: mark KVM clock and RTC devices as secure Date: Fri, 11 Sep 2026 15:36:24 +0100 Message-ID: <20260911143627.2743803-26-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: dv-cyybNrhdv8A0D7F7CqbkiwanAc0Ff7Nnb9Hx27lU_1789137446 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-42698a/1789137451-1BED69EA-B712E62D/13/0 X-purgate-type: clean X-purgate-size: 1176 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137590462158500 These are core infrastructure in virtualization cases so must provide a security boundary. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/i386/kvm/clock.c | 1 + hw/rtc/mc146818rtc.c | 1 + 2 files changed, 2 insertions(+) diff --git a/hw/i386/kvm/clock.c b/hw/i386/kvm/clock.c index e3dad136d3..d3e2301311 100644 --- a/hw/i386/kvm/clock.c +++ b/hw/i386/kvm/clock.c @@ -366,6 +366,7 @@ static const TypeInfo kvmclock_info =3D { .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(KVMClockState), .class_init =3D kvmclock_class_init, + .secure =3D true, }; =20 /* Note: Must be called after VCPU initialization. */ diff --git a/hw/rtc/mc146818rtc.c b/hw/rtc/mc146818rtc.c index ba396435d1..66f8b177e7 100644 --- a/hw/rtc/mc146818rtc.c +++ b/hw/rtc/mc146818rtc.c @@ -1027,6 +1027,7 @@ static const TypeInfo mc146818rtc_info =3D { .parent =3D TYPE_ISA_DEVICE, .instance_size =3D sizeof(MC146818RtcState), .class_init =3D rtc_class_initfn, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { TYPE_ACPI_DEV_AML_IF }, { }, --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137617; cv=none; d=zohomail.com; s=zohoarc; b=WBorGMUdBL0AuHG/jx2kiI2SuPVq8epjNLA9YqIf9NdIc0w55tu8FsRzYPTqueqQyrmN0ILLUuHpr/gSDlBDYm6fC1waYFfXw/4Ttfb6+zMIaqhyb5wxq22+j53UftXlzq6KCeOG3UBAO91+j0pI7CekqRSBGvstPJH7xZGoxGg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137617; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=SO3n0XnxHzcPurmZyEeQNszEXfuag/bmU5uMUoRgi50=; b=ZDyXxFPuQDMbVlbdUSdltBVp/D4wIz+DBA3Lm2HV24+2fgUXk6xReBQ2X2nn4TLovTvtvKlpoyQltw4M+cxfF4wTNaIK3KaZlSPQlPf7gZQbsniF8Nvu6LV7EjiL51BAsn6vXEEG98AV9K8e1LBIhFwUueWabU7vGjTJBDbD62I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137617526455.49229566158374; Fri, 11 Sep 2026 07:40:17 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417229.1646174 (Exim 4.92) (envelope-from ) id 1x52Q1-0008ES-Cf; Fri, 11 Sep 2026 14:39:57 +0000 Received: by outflank-mailman (output) from mailman id 1417229.1646174; Fri, 11 Sep 2026 14:39:57 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52Q1-0008DA-81; Fri, 11 Sep 2026 14:39:57 +0000 Received: by outflank-mailman (input) for mailman id 1417229; Fri, 11 Sep 2026 14:39:56 +0000 Received: from mx.expurgate.net ([194.145.224.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52Q0-00088v-9x for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:39:56 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52Pz-008k9B-NA for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:39:55 +0200 Received: from [10.42.69.12] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa4129d-2eae-0a2a0a5409dd-0a2a450caa0c-40 for ; Fri, 11 Sep 2026 16:39:55 +0200 Received: from [170.10.129.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa41242-f479-0a2a450c0019-aa0a817c7e07-3 for ; Fri, 11 Sep 2026 16:37:55 +0200 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-401-GrM6ooB6MO2NkU78jUtD2w-1; Fri, 11 Sep 2026 10:37:49 -0400 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 B06671964CF6; Fri, 11 Sep 2026 14:37:28 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id CE51C3000229; Fri, 11 Sep 2026 14:37:26 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137474; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=SO3n0XnxHzcPurmZyEeQNszEXfuag/bmU5uMUoRgi50=; b=CFGAVvtWQ9OZwknxW4CvfR8Y8WjDdZSIBTb67ETn1z3I5MMs40uzTbTTga64asB40IKanE YlwYCmil6+AFbXWny6a+79O1ivJ+2TdCmqk9wUnLNR856WoQu1l3nv3TiGKoO+a0uzkSdJ ZXteivq2lVkykkCl7y14vxVQcYRRfoE= X-MC-Unique: GrM6ooB6MO2NkU78jUtD2w-1 X-Mimecast-MFC-AGG-ID: GrM6ooB6MO2NkU78jUtD2w_1789137468 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 26/28] hw: device AMD, Intel and ARM IOMMUs as secure Date: Fri, 11 Sep 2026 15:36:25 +0100 Message-ID: <20260911143627.2743803-27-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: 8yJ4KcJvqjEf0wAftGKlHyimbOHnv3vi5TToXDEvQUQ_1789137468 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-d25034/1789137475-51538A5B-8481F200/0/0 X-purgate-type: clean X-purgate-size: 2741 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137618585158500 These are needed in virtualization use cases to support PCI device assignment use cases so must provide a security boundary. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/arm/smmu-common.c | 1 + hw/arm/smmuv3.c | 2 ++ hw/i386/amd_iommu.c | 4 +++- hw/i386/intel_iommu.c | 1 + 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/hw/arm/smmu-common.c b/hw/arm/smmu-common.c index 8e40ba603d..bca9a32e9f 100644 --- a/hw/arm/smmu-common.c +++ b/hw/arm/smmu-common.c @@ -1040,6 +1040,7 @@ static const TypeInfo smmu_base_info =3D { .class_size =3D sizeof(SMMUBaseClass), .class_init =3D smmu_base_class_init, .abstract =3D true, + .secure =3D true, }; =20 static void smmu_base_register_types(void) diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c index ed19536a4d..2a9721b87e 100644 --- a/hw/arm/smmuv3.c +++ b/hw/arm/smmuv3.c @@ -2272,12 +2272,14 @@ static const TypeInfo smmuv3_type_info =3D { .instance_init =3D smmuv3_instance_init, .class_size =3D sizeof(SMMUv3Class), .class_init =3D smmuv3_class_init, + .secure =3D true, }; =20 static const TypeInfo smmuv3_iommu_memory_region_info =3D { .parent =3D TYPE_IOMMU_MEMORY_REGION, .name =3D TYPE_SMMUV3_IOMMU_MEMORY_REGION, .class_init =3D smmuv3_iommu_memory_region_class_init, + .secure =3D true, }; =20 static void smmuv3_register_types(void) diff --git a/hw/i386/amd_iommu.c b/hw/i386/amd_iommu.c index 578c27ccbe..3192609ba0 100644 --- a/hw/i386/amd_iommu.c +++ b/hw/i386/amd_iommu.c @@ -2783,7 +2783,8 @@ static const TypeInfo amdvi_sysbus =3D { .name =3D TYPE_AMD_IOMMU_DEVICE, .parent =3D TYPE_X86_IOMMU_DEVICE, .instance_size =3D sizeof(AMDVIState), - .class_init =3D amdvi_sysbus_class_init + .class_init =3D amdvi_sysbus_class_init, + .secure =3D true, }; =20 static void amdvi_pci_class_init(ObjectClass *klass, const void *data) @@ -2805,6 +2806,7 @@ static const TypeInfo amdvi_pci =3D { .parent =3D TYPE_PCI_DEVICE, .instance_size =3D sizeof(AMDVIPCIState), .class_init =3D amdvi_pci_class_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index 82c3c3b2c3..20e44590ca 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -5687,6 +5687,7 @@ static const TypeInfo vtd_info =3D { .parent =3D TYPE_X86_IOMMU_DEVICE, .instance_size =3D sizeof(IntelIOMMUState), .class_init =3D vtd_class_init, + .secure =3D true, }; =20 static int vtd_attrs_to_index(IOMMUMemoryRegion *iommu_mr, MemTxAttrs attr= s) --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137618; cv=none; d=zohomail.com; s=zohoarc; b=kN1rqSoG+kHTM99pK3iWgGOcwuDNz8I1XakAFJtaMtnBMmNZkVq1NPKRE3x2k3M0JTAGmANcasRJBw0qaHiCN0BXgnRBRG6rYyE/yo2etANh+RPv/4lzSpg9+rTSwJj8JNAeDCEzhRIsPZSMAEnJNrkaudE6FHhnfKYPfMpd1M0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137618; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ntaO5zXCqDIHHnqqZoaRC9y/DkKQ0xZ5Zjqm3Fkdzdk=; b=U9m9f8TNYRcHKfTjqtgt+x6nql/d3dJlKHLd9bAX0CVC0CHDHBMhfmHF0Ea5I/I415tj6+Hnv9nfwJHbgsOMh48pN0Tn7PWxne4Hh5vi77Jdw49QgQghHAfVHoNdl76Ue2wGnq4TEN/Gz2qjFQGG3zQKnEQ+dVr1BAq2WmMyDzM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137618739768.9705392523681; Fri, 11 Sep 2026 07:40:18 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417228.1646171 (Exim 4.92) (envelope-from ) id 1x52Q1-00089y-3L; Fri, 11 Sep 2026 14:39:57 +0000 Received: by outflank-mailman (output) from mailman id 1417228.1646171; Fri, 11 Sep 2026 14:39:57 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52Q0-00089o-Uv; Fri, 11 Sep 2026 14:39:56 +0000 Received: by outflank-mailman (input) for mailman id 1417228; Fri, 11 Sep 2026 14:39:56 +0000 Received: from mx.expurgate.net ([194.145.224.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52Q0-00088q-6d for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:39:56 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52Pz-008k9i-Jt for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:39:55 +0200 Received: from [10.42.69.9] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa412aa-bab6-0a2a0a5309dd-0a2a4509a44a-24 for ; Fri, 11 Sep 2026 16:39:55 +0200 Received: from [170.10.129.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa41242-be1a-0a2a45090019-aa0a817c9f27-3 for ; Fri, 11 Sep 2026 16:37:55 +0200 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-401-yBd4u00wMKm-TAHlAmivtQ-1; Fri, 11 Sep 2026 10:37:49 -0400 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 07F5B1944F0D; Fri, 11 Sep 2026 14:37:31 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 0D1A6300022B; Fri, 11 Sep 2026 14:37:28 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137474; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ntaO5zXCqDIHHnqqZoaRC9y/DkKQ0xZ5Zjqm3Fkdzdk=; b=jIH2ObkjtaCrlTY+03reZcp750ki0cwT+c4c6umPQ6vGwKoIEaR/UFgalvoh/FZG8vJ904 6wdLE4QbGwFxJeGjDMzdwxmjbvia+ZYJPmE4eyA83Se2NucqrE6fgVu/J1g0qxqC9qrCVk dvXHsIx4TV3/ITXqeESbNRFia3pSSeg= X-MC-Unique: yBd4u00wMKm-TAHlAmivtQ-1 X-Mimecast-MFC-AGG-ID: yBd4u00wMKm-TAHlAmivtQ_1789137468 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 27/28] hw/input: mark PS/2 and PC Keyboard devices as secure Date: Fri, 11 Sep 2026 15:36:26 +0100 Message-ID: <20260911143627.2743803-28-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: 8zb5lcpadP9NJ7uyTKxB8Vt3yEpNmKKtAXMyMP7YCu8_1789137468 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-bad1c0/1789137475-3B2DC034-43FFF7B4/0/0 X-purgate-type: clean X-purgate-size: 1978 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137620570158500 These are part of the baseline x86 featureset so required for virtualization use cases. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/input/pckbd.c | 3 ++- hw/input/ps2.c | 9 ++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/hw/input/pckbd.c b/hw/input/pckbd.c index b09c3bce93..0250252cd6 100644 --- a/hw/input/pckbd.c +++ b/hw/input/pckbd.c @@ -766,7 +766,8 @@ static const TypeInfo i8042_mmio_info =3D { .parent =3D TYPE_SYS_BUS_DEVICE, .instance_init =3D i8042_mmio_init, .instance_size =3D sizeof(MMIOKBDState), - .class_init =3D i8042_mmio_class_init + .class_init =3D i8042_mmio_class_init, + .secure =3D true, }; =20 void i8042_isa_mouse_fake_event(ISAKBDState *isa) diff --git a/hw/input/ps2.c b/hw/input/ps2.c index 01af4350b3..8588f39f99 100644 --- a/hw/input/ps2.c +++ b/hw/input/ps2.c @@ -1293,7 +1293,8 @@ static const TypeInfo ps2_kbd_info =3D { .name =3D TYPE_PS2_KBD_DEVICE, .parent =3D TYPE_PS2_DEVICE, .instance_size =3D sizeof(PS2KbdState), - .class_init =3D ps2_kbd_class_init + .class_init =3D ps2_kbd_class_init, + .secure =3D true, }; =20 static void ps2_mouse_class_init(ObjectClass *klass, const void *data) @@ -1313,7 +1314,8 @@ static const TypeInfo ps2_mouse_info =3D { .name =3D TYPE_PS2_MOUSE_DEVICE, .parent =3D TYPE_PS2_DEVICE, .instance_size =3D sizeof(PS2MouseState), - .class_init =3D ps2_mouse_class_init + .class_init =3D ps2_mouse_class_init, + .secure =3D true, }; =20 static void ps2_init(Object *obj) @@ -1340,7 +1342,8 @@ static const TypeInfo ps2_info =3D { .instance_size =3D sizeof(PS2State), .class_init =3D ps2_class_init, .class_size =3D sizeof(PS2DeviceClass), - .abstract =3D true + .abstract =3D true, + .secure =3D true, }; =20 static void ps2_register_types(void) --=20 2.55.0 From nobody Thu Sep 24 20:19:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789137635; cv=none; d=zohomail.com; s=zohoarc; b=WORAvB25A9OeA/JsTuBh89iX3/3WHRUCJksEq9c/eZEbePDjvtzdVyknJgJVVPPes06H4+Gop2JU6Uquo0ekdRTT2ZV9AjYzKhuSsGv1nsHu4GVZEsY6xO7orVXPtFgQBXkrh6UOcxv7atsXHoJBHqjs0HyB3aTlYU0MvoDtRlY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789137635; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=N4kE0kwvfDbuBRKymnLbUvEO8flRNgMjBGhpmSiGsh0=; b=coB4rhX85T96/2n75WMyzqJg+DWvsBXf+qQBS/Nv4qR+3dtS8JD5J0MwWYAgLRfUJCu+eHnlHRFmGyA6aT2FWkyjQ+uRCtVtFvwYXcOwCq30HLCqw8fe8AZcr8GWPYmeOZRpOX64el0DSQCwSau8eLs9eOqJJW+0UsRFyEUNhfc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1789137635567818.1418502279447; Fri, 11 Sep 2026 07:40:35 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1417246.1646188 (Exim 4.92) (envelope-from ) id 1x52Q9-0001ON-VM; Fri, 11 Sep 2026 14:40:05 +0000 Received: by outflank-mailman (output) from mailman id 1417246.1646188; Fri, 11 Sep 2026 14:40:05 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52Q9-0001Nn-SV; Fri, 11 Sep 2026 14:40:05 +0000 Received: by outflank-mailman (input) for mailman id 1417246; Fri, 11 Sep 2026 14:40:03 +0000 Received: from mx.expurgate.net ([194.145.224.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x52Q7-0000zA-S2 for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 14:40:03 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x52Q7-008k9B-8f for xen-devel@lists.xenproject.org; Fri, 11 Sep 2026 16:40:03 +0200 Received: from [10.42.69.8] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa412a5-2eae-0a2a0a5409dd-0a2a45089b94-24 for ; Fri, 11 Sep 2026 16:40:03 +0200 Received: from [170.10.129.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa41249-f659-0a2a45080019-aa0a817c6933-3 for ; Fri, 11 Sep 2026 16:38:02 +0200 Received: from mx-prod-mc-01.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-33-Woi66CdzNE63mR1L80XvTw-1; Fri, 11 Sep 2026 10:37:58 -0400 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-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 2F99F195395E; Fri, 11 Sep 2026 14:37:33 +0000 (UTC) Received: from berrange.csb (headnet05.pony-001.prod.iad2.dc.redhat.com [10.2.32.117]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 42B0C3000229; Fri, 11 Sep 2026 14:37:31 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789137481; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=N4kE0kwvfDbuBRKymnLbUvEO8flRNgMjBGhpmSiGsh0=; b=GViE6yxWodZovarT0BzVz6itJh2R/zcnj5T+BQeKifIkI4NKDuMoLocTsBG+Sq01zfPc29 pMiymDxvP5oNHnVUaPiT+B+N0cnTo5uJCv1bHDtZlfzp0GwbEEI7rvmZqr4Lj1/hDS6RIu u4EKz1GkkJXdflLKDmPaUXW4FnXpltw= X-MC-Unique: Woi66CdzNE63mR1L80XvTw-1 X-Mimecast-MFC-AGG-ID: Woi66CdzNE63mR1L80XvTw_1789137476 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH 28/28] hw/i386: mark vmmouse / vmport as secure Date: Fri, 11 Sep 2026 15:36:27 +0100 Message-ID: <20260911143627.2743803-29-berrange@redhat.com> In-Reply-To: <20260911143627.2743803-1-berrange@redhat.com> References: <20260911143627.2743803-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: SSL7pQjdq08bxl8bdh_0qnjlOTOuy0vouEW6JJ0MLew_1789137476 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-c1860d/1789137483-CCB7187B-038AACDC/0/0 X-purgate-type: clean X-purgate-size: 1053 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1789137636670158500 These paravirtualized devices are relevant to virtualization use cases. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/i386/vmmouse.c | 1 + hw/i386/vmport.c | 1 + 2 files changed, 2 insertions(+) diff --git a/hw/i386/vmmouse.c b/hw/i386/vmmouse.c index e289bce8e2..612e7f7d3b 100644 --- a/hw/i386/vmmouse.c +++ b/hw/i386/vmmouse.c @@ -390,6 +390,7 @@ static const TypeInfo vmmouse_info =3D { .parent =3D TYPE_ISA_DEVICE, .instance_size =3D sizeof(VMMouseState), .class_init =3D vmmouse_class_initfn, + .secure =3D true, }; =20 static void vmmouse_register_types(void) diff --git a/hw/i386/vmport.c b/hw/i386/vmport.c index 865e0e70db..24c4fb27a3 100644 --- a/hw/i386/vmport.c +++ b/hw/i386/vmport.c @@ -301,6 +301,7 @@ static const TypeInfo vmport_info =3D { .parent =3D TYPE_ISA_DEVICE, .instance_size =3D sizeof(VMPortState), .class_init =3D vmport_class_initfn, + .secure =3D true, }; =20 static void vmport_register_types(void) --=20 2.55.0