From: "Daniel P. Berrangé" <berrange@redhat.com>
To: BALATON Zoltan <balaton@eik.bme.hu>
Cc: marcandre.lureau@redhat.com, qemu-devel@nongnu.org,
"Thomas Huth" <thuth@redhat.com>,
"Stefan Hajnoczi" <stefanha@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Markus Armbruster" <armbru@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>
Subject: Re: [PATCH v2 32/32] hw/display: mark most display adapters as insecure
Date: Thu, 3 Sep 2026 12:05:45 +0100 [thread overview]
Message-ID: <aplUiXukbS5riuCi@redhat.com> (raw)
In-Reply-To: <d807df94-16d5-28a8-756e-b7971068e2c7@eik.bme.hu>
On Wed, Aug 19, 2026 at 01:18:18PM +0200, BALATON Zoltan wrote:
> On Wed, 19 Aug 2026, marcandre.lureau@redhat.com wrote:
> > > Most of thte 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 can
> > > consider the code fairly mature, even if no longer hugely relevant
> > > to virtualization use cases.
> > >
> > > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> > > Message-ID: <20250926140144.1998694-33-berrange@redhat.com>
> > >
> > > diff --git a/hw/display/artist.c b/hw/display/artist.c
> > > index 3c884c92437c..caab4d1d4c52 100644
> > > --- a/hw/display/artist.c
> > > +++ b/hw/display/artist.c
> > > @@ -1504,6 +1504,7 @@ static const TypeInfo artist_info = {
> > > .instance_size = sizeof(ARTISTState),
> > > .instance_init = artist_initfn,
> > > .class_init = artist_class_init,
> > > + .secure = false,
> > > };
> > >
> > > static void artist_register_types(void)
> > > diff --git a/hw/display/ati.c b/hw/display/ati.c
> > > index f7c0006a879d..6e332e02d2fb 100644
> > > --- a/hw/display/ati.c
> > > +++ b/hw/display/ati.c
> > > @@ -1080,6 +1080,7 @@ static const TypeInfo ati_vga_info = {
> > > .instance_size = sizeof(ATIVGAState),
> > > .class_init = ati_vga_class_init,
> > > .instance_init = ati_vga_init,
> > > + .secure = false,
>
> I've missed the original series but why isn't the default false and devices
> that are secured set it to true? That way a new device would not be set
> secure unless the author explicitly sets it which seems better than assuming
> devices are secure when most of them aren't. Or if false is already the
> default why is it set everywhere? Isn't it enough to mark secure devices?
In the first version I was explicitly tracking "secure" and "insecure"
and "undefined".
Markus made the point that from an external consumer POV we should
treat "insecure" and "undefined" as the same.
Internally, however, I still wanted to keep track of what devices we
had put some intelligent thought into for classification purposes.
IOW, the absence of ".secure = " is effectively our TODO list.
Perhaps this is overkill though. What really matters is that we get
an accurate list for ".secure = true" as quickly as possible, and
once that's more or less complete, the '.secure = false' markers
probably cease to retain any value.
With regards,
Daniel
--
|: https://berrange.com ~~ https://hachyderm.io/@berrange :|
|: https://libvirt.org ~~ https://entangle-photo.org :|
|: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :|
next prev parent reply other threads:[~2026-09-03 11:06 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-26 14:01 [PATCH v2 00/32] Encode object type security status in code Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 01/32] qom: replace 'abstract' with 'flags' Daniel P. Berrangé
2025-10-23 10:26 ` Markus Armbruster
2025-10-24 13:39 ` Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 02/32] qom: add tracking of security state of object types Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 03/32] qapi: add 'insecure-types' option for -compat argument Daniel P. Berrangé
2025-10-23 10:38 ` Markus Armbruster
2026-08-18 20:21 ` marcandre.lureau
2025-09-26 14:01 ` [PATCH v2 04/32] system: check security for accelerator types Daniel P. Berrangé
2026-08-18 20:21 ` marcandre.lureau
2026-09-03 10:57 ` Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 05/32] system: report acclerator security status in help output Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 06/32] system: check security for machine types Daniel P. Berrangé
2025-10-23 11:51 ` Markus Armbruster
2026-08-18 20:21 ` marcandre.lureau
2025-09-26 14:01 ` [PATCH v2 07/32] system: report machine security status in help output Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 08/32] system: check security of device types Daniel P. Berrangé
2025-10-23 11:54 ` Markus Armbruster
2025-10-24 13:28 ` Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 09/32] system: report device security status in help output Daniel P. Berrangé
2025-10-23 11:57 ` Markus Armbruster
2025-09-26 14:01 ` [PATCH v2 10/32] hw/core: report security status in query-machines Daniel P. Berrangé
2025-10-23 12:17 ` Markus Armbruster
2025-10-24 13:32 ` Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 11/32] qom: report & filter on security status in qom-list-types Daniel P. Berrangé
2025-10-23 10:58 ` Markus Armbruster
2025-10-24 13:38 ` Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 12/32] docs: expand security docs with info about security status Daniel P. Berrangé
2025-10-23 12:22 ` Markus Armbruster
2025-10-24 13:42 ` Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 13/32] machine: add helpers for declaring secure/insecure machine types Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 14/32] hw: mark x86, s390, ppc, arm versioned machine types as secure Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 15/32] hw: declare Xen & microvm machines as secure, isapc as insecure Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 16/32] hw/core: declare 'none' machine to be insecure Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 17/32] accel: mark kvm, xen & hvf as secure; tcg & qtest as insecure Daniel P. Berrangé
2026-03-10 13:09 ` Philippe Mathieu-Daudé
2026-03-10 13:28 ` Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 18/32] hw: mark all virtio PCI devices as secure Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 19/32] hw: mark all virtio CCW " Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 20/32] hw: mark all vhost devices a secure Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 21/32] hw: mark all remaining virtio object types as secure Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 22/32] hw/vfio: mark all VFIO object classes " Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 23/32] hw/xen: mark all Xen related object types as being secure Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 24/32] hw/net: mark most non-virtio NICs as insecure Daniel P. Berrangé
2026-08-18 20:21 ` marcandre.lureau
2025-09-26 14:01 ` [PATCH v2 25/32] hw/usb: mark most USB devices/hosts as secure Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 26/32] hw/watchdog: mark some watchdog devices " Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 27/32] hw/scsi: mark most SCSI controllers as insecure / " Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 28/32] hw/ide: mark ICH9 and ide-hd/ide-cd " Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 29/32] hw: mark test/demo devices as insecure Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 30/32] hw: define most common PCI types as secure Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 31/32] hw/pci-host: define some PCI hosts " Daniel P. Berrangé
2025-09-26 14:01 ` [PATCH v2 32/32] hw/display: mark most display adapters as insecure Daniel P. Berrangé
2026-08-18 20:21 ` marcandre.lureau
2026-08-19 11:18 ` BALATON Zoltan
2026-08-19 11:25 ` Marc-André Lureau
2026-09-03 11:05 ` Daniel P. Berrangé [this message]
2025-10-23 7:23 ` [PATCH v2 00/32] Encode object type security status in code Markus Armbruster
2025-10-23 9:00 ` Daniel P. Berrangé
2025-10-23 12:38 ` Markus Armbruster
2026-08-18 20:21 ` marcandre.lureau
2026-08-19 12:21 ` Markus Armbruster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aplUiXukbS5riuCi@redhat.com \
--to=berrange@redhat.com \
--cc=armbru@redhat.com \
--cc=balaton@eik.bme.hu \
--cc=marcandre.lureau@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.