qemu-cr16/docs/system
Peter Maydell f16f2586ec docs/system/security: Restrict "virtualization use case" to specific machines
Currently our security policy defines a "virtualization use case"
where we consider bugs to be security issues, and a
"non-virtualization use case" where we do not make any security
guarantees and don't consider bugs to be security issues.

The rationale for this split is that much code in QEMU is older and
was not written with malicious guests in mind, and we don't have the
resources to audit, fix and defend it.  So instead we inform users
about what the can in practice rely on as a security barrier, and
what they can't.

We don't currently restrict the "virtualization use case" to any
particular set of machine types.  This means that we have effectively
barred ourselves from adding KVM support to any machine type that we
don't want to put into the "bugs are security issues" category, even
if it would be useful for users to be able to get better performance
with a trusted guest by enabling KVM. This seems an unnecessary
restriction, and in practice the set of machine types it makes
sense to use for untrusted-guest virtualization is quite small.

Specifically, we would like to be able to enable the use of
KVM with the imx8 development board machine types, but we don't
want to commit ourselves to having to support those SoC models
and device models as part of QEMU's security boundary:
https://lore.kernel.org/qemu-devel/20250629204851.1778-3-shentey@gmail.com/

This patch updates the security policy to explicitly list the
machine types we consider to be useful for the "virtualization
use case".

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Reviewed-by: Bibo Mao <maobibo@loongson.cn>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Reviewed-by: Bernhard Beschow <shentey@gmail.com>
Message-id: 20251016131159.750480-1-peter.maydell@linaro.org
Acked-by: Markus Armbruster <armbru@redhat.com>
2025-10-31 16:26:44 +00:00
..
arm docs/system/arm/virt: Document user-creatable SMMUv3 2025-10-31 16:26:44 +00:00
devices docs/system/devices/vfio-user: fix formatting 2025-10-22 08:12:52 +02:00
i386 docs/system: Add documentation on support for IGVM 2025-07-12 15:28:21 +02:00
loongarch docs/system: Add entry for LoongArch system 2025-03-21 11:31:56 +08:00
openrisc docs/system: openrisc: Add OpenRISC documentation 2022-09-04 07:02:57 +01:00
ppc ppc/pnv: Introduce Power11 PowerNV machine 2025-09-28 23:22:05 +05:30
riscv hw/riscv: Initial support for BOSC's Xiangshan Kunminghu FPGA prototype 2025-07-04 21:09:49 +10:00
s390x docs/system/s390x/bootdevices: Update loadparm documentation 2024-11-18 10:54:42 +01:00
authz.rst docs: Drop deprecated 'props' from object-add 2021-11-22 15:02:38 +01:00
barrier.rst docs: Move user-facing barrier docs into system manual 2021-08-02 12:55:51 +01:00
bootindex.rst docs/system/bootindex: Make it clear that s390x can also boot from virtio-net 2024-11-18 10:54:42 +01:00
confidential-guest-support.rst docs: Add TDX documentation 2025-05-28 19:35:55 +02:00
cpu-hotplug.rst docs/system/cpu-hotplug: Update example's socket-id/core-id 2024-10-29 15:04:46 +00:00
cpu-models-mips.rst.inc
cpu-models-x86-abi.csv docs: re-generate x86_64 ABI compatibility CSV 2024-02-09 12:48:11 +00:00
cpu-models-x86.rst.inc docs: Add GNR, SRF and CWF CPU models 2025-01-23 11:50:53 +01:00
device-emulation.rst docs/system: split VirtIO devices from the rest 2025-10-20 13:46:28 +01:00
device-url-syntax.rst.inc block/gluster: Remove deprecated RDMA protocol handling 2024-04-24 16:03:38 +02:00
gdb.rst docs: replace -hda with -drive & update root= kernel parameter 2025-05-09 23:49:26 +03:00
generic-loader.rst docs: Move licence/copyright from HTML output to rST comments 2021-08-02 11:42:38 +01:00
guest-loader.rst docs/system: remove excessive punctuation from guest-loader docs 2023-04-27 14:58:41 +01:00
igvm.rst docs/system: Add documentation on support for IGVM 2025-07-12 15:28:21 +02:00
images.rst docs: use :kbd: role in sphinx docs 2025-07-14 11:42:49 +01:00
index.rst docs/system: Add documentation on support for IGVM 2025-07-12 15:28:21 +02:00
introduction.rst docs: Add mshv to documentation 2025-10-09 09:48:31 +02:00
invocation.rst qemu-options: Clarify handling of commas in options parameters 2023-12-20 10:29:23 +01:00
keys.rst docs: Remove unused weirdly-named cross-reference targets 2023-05-12 15:43:38 +01:00
keys.rst.inc docs/system/keys: fix incorrect reset scaling key binding 2025-10-28 16:49:34 +03:00
linuxboot.rst docs: use :kbd: role in sphinx docs 2025-07-14 11:42:49 +01:00
managed-startup.rst
monitor.rst
multi-process.rst docs: fix multi-process QEMU documentation 2023-06-07 10:21:53 -04:00
mux-chardev.rst
mux-chardev.rst.inc docs: use :kbd: role in sphinx docs 2025-07-14 11:42:49 +01:00
pr-manager.rst
qemu-block-drivers.rst docs/system: standardize man page sections to --- with overline 2021-09-13 13:56:26 +02:00
qemu-block-drivers.rst.inc docs: Don't define duplicate label in qemu-block-drivers.rst.inc 2025-05-06 15:02:34 +01:00
qemu-cpu-models.rst docs/system: standardize man page sections to --- with overline 2021-09-13 13:56:26 +02:00
qemu-manpage.rst qemu-options: Clarify handling of commas in options parameters 2023-12-20 10:29:23 +01:00
replay.rst target/nios2: Remove the deprecated Nios II target 2024-04-24 16:03:38 +02:00
secrets.rst docs: document how to pass secret data to QEMU 2021-06-14 13:28:50 +01:00
security.rst docs/system/security: Restrict "virtualization use case" to specific machines 2025-10-31 16:26:44 +00:00
sriov.rst docs/system/sriov.rst: Fix typo in title 2025-10-28 16:51:09 +03:00
target-arm.rst docs/system: arm: Add max78000 board description 2025-07-11 13:27:41 +01:00
target-avr.rst
target-i386-desc.rst.inc docs: i386: pc: Avoid mentioning limit of maximum vCPUs 2024-06-08 10:33:38 +02:00
target-i386.rst docs/system/target-i386: Remove the sentence about RHEL 7 being supported 2025-07-13 12:08:07 +03:00
target-loongarch.rst docs/system: Add entry for LoongArch system 2025-03-21 11:31:56 +08:00
target-m68k.rst
target-mips.rst hw/mips: Remove mipssim machine 2025-09-02 17:57:05 +02:00
target-openrisc.rst docs/system: openrisc: Add OpenRISC documentation 2022-09-04 07:02:57 +01:00
target-ppc.rst docs/system/ppc: Document running Linux on AmigaNG machines 2024-03-13 02:47:04 +10:00
target-riscv.rst hw/riscv: Initial support for BOSC's Xiangshan Kunminghu FPGA prototype 2025-07-04 21:09:49 +10:00
target-rx.rst
target-s390x.rst docs/s390x/cpu topology: document s390x cpu topology 2023-10-20 07:16:53 +02:00
target-sparc.rst docs/system/target-sparc: Improve the Sparc documentation 2024-05-05 21:02:48 +01:00
target-sparc64.rst
target-xtensa.rst
targets.rst docs/system: Add entry for LoongArch system 2025-03-21 11:31:56 +08:00
tls.rst crypto: stop requiring "key encipherment" usage in x509 certs 2025-10-24 16:36:14 +01:00
virtio-net-failover.rst docs/system: clean-up formatting of virtio-net-failover 2025-07-14 11:42:49 +01:00
vm-templating.rst docs: Start documenting VM templating 2023-09-19 10:23:21 +02:00
vnc-security.rst docs: recommend SCRAM-SHA-256 SASL mech instead of SHA-1 variant 2021-06-14 13:28:50 +01:00