linux/Documentation
Marc Zyngier ac821b6257 UPSTREAM: KVM: arm64: Reject VM creation when the default IPA size is unsupported
KVM/arm64 has forever used a 40bit default IPA space, partially
due to its 32bit heritage (where the only choice is 40bit).

However, there are implementations in the wild that have a *cough*
much smaller *cough* IPA space, which leads to a misprogramming of
VTCR_EL2, and a guest that is stuck on its first memory access
if userspace dares to ask for the default IPA setting (which most
VMMs do).

Instead, blundly reject the creation of such VM, as we can't
satisfy the requirements from userspace (with a one-off warning).
Also clarify the boot warning, and document that the VM creation
will fail when an unsupported IPA size is provided.

Although this is an ABI change, it doesn't really change much
for userspace:

- the guest couldn't run before this change, but no error was
  returned. At least userspace knows what is happening.

- a memory slot that was accepted because it did fit the default
  IPA space now doesn't even get a chance to be registered.

The other thing that is left doing is to convince userspace to
actually use the IPA space setting instead of relying on the
antiquated default.

Fixes: 233a7cb235 ("kvm: arm64: Allow tuning the physical address size for VM")
Signed-off-by: Marc Zyngier <maz@kernel.org>
Cc: stable@vger.kernel.org
Reviewed-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Link: https://lore.kernel.org/r/20210311100016.3830038-2-maz@kernel.org
(cherry picked from commit 7d717558dd)
Signed-off-by: Will Deacon <willdeacon@google.com>
Bug: 178098380
Test: atest VirtualizationHostTestCases on an EL2-enabled device
Change-Id: I36332fbe5606affd151976a6354f3e9c45fc214a
2021-03-15 10:47:05 +00:00
..
ABI Merge remote-tracking branch 'aosp/upstream-f2fs-stable-linux-5.10.y' into android12-5.10 2021-03-01 19:06:56 -08:00
accounting
admin-guide Merge 5.10.20 into android12-5.10 2021-03-07 12:33:33 +01:00
arm documentation: arm: sunxi: add Allwinner H6 documents 2020-10-28 11:19:24 -06:00
arm64 UPSTREAM: arm64: spectre: Rename ARM64_HARDEN_EL2_VECTORS to ARM64_SPECTRE_V3A 2021-01-28 17:57:08 +00:00
block UPSTREAM: block/keyslot-manager: introduce devm_blk_ksm_init() 2021-02-23 08:10:56 +01:00
bpf bpf: Migrate from patchwork.ozlabs.org to patchwork.kernel.org. 2020-10-11 22:05:47 +02:00
cdrom
core-api dma-mapping: document dma_{alloc,free}_pages 2020-10-23 12:07:46 +02:00
cpu-freq
crypto
dev-tools UPSTREAM: kfence: report sensitive information based on no_hash_pointers 2021-03-01 18:11:05 +01:00
device-mapper
devicetree This is the 5.10.21 stable release 2021-03-07 12:53:30 +01:00
doc-guide docs: kerneldoc.py: add support for kerneldoc -nosymbol 2020-10-15 07:49:38 +02:00
driver-api media: vidtv.rst: add kernel-doc markups 2020-11-26 08:05:24 +01:00
fault-injection A handful of late-arriving documentation fixes. 2020-10-23 17:13:53 -07:00
fb drm fixes (round two) for 5.10-rc1 2020-10-23 13:56:34 -07:00
features s390 updates for the 5.10 merge window 2020-10-16 12:36:38 -07:00
filesystems Merge 5.10.20 into android12-5.10 2021-03-07 12:33:33 +01:00
firmware_class
firmware-guide Documentation: ACPI: fix spelling mistakes 2020-11-10 18:48:56 +01:00
fpga
gpu fbcon: Disable accelerated scrolling 2021-01-06 14:56:51 +01:00
hid
hwmon docs: hwmon: mp2975.rst: address some html build warnings 2020-10-28 11:26:10 -06:00
i2c Documentation: i2c: add testunit docs to index 2020-10-05 22:57:45 +02:00
ia64
ide
iio
infiniband
input
isdn
kbuild Merge aae5ab854e ("Merge tag 'riscv-for-linus-5.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux") into android-mainline 2020-11-30 08:20:35 +01:00
kernel-hacking
leds docs: leds: index.rst: add a missing file 2020-11-02 13:45:37 +01:00
litmus-tests
livepatch
locking Documentation: seqlock: s/LOCKTYPE/LOCKNAME/g 2020-12-30 11:54:11 +01:00
m68k
maintainer
mhi
mips dt: Remove booting-without-of.rst 2020-10-13 13:33:16 -05:00
misc-devices Documentation: remove mic/index from misc-devices/index.rst 2020-11-04 11:38:32 +01:00
netlabel
networking This is the 5.10.21 stable release 2021-03-07 12:53:30 +01:00
nios2
nvdimm
openrisc
parisc
PCI Documentation: better locations for sysfs-pci, sysfs-tagging 2020-10-09 09:33:23 -06:00
pcmcia
power UPSTREAM: Documentation/powercap/dtpm: Add documentation for dtpm 2021-03-11 16:02:39 +00:00
powerpc docs updates for v5.10-rc1 2020-10-16 15:02:21 -07:00
process net: switch to the kernel.org patchwork instance 2020-11-11 17:12:00 -08:00
RCU Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu 2020-10-09 08:21:56 +02:00
riscv
s390
scheduler Merge 50d228345a ("Merge tag 'docs-5.10' of git://git.lwn.net/linux") into android-mainline 2020-10-21 15:43:32 +02:00
scsi scsi: libsas: docs: Remove notify_ha_event() 2021-03-04 11:37:17 +01:00
security watch_queue: Drop references to /dev/watch_queue 2021-03-04 11:37:59 +01:00
sh dt: Remove booting-without-of.rst 2020-10-13 13:33:16 -05:00
sound ALSA: doc: Fix reference to mixart.rst 2021-01-19 18:27:17 +01:00
sparc
sphinx A small number of fixes, plus a build tweak to respect the desire for 2020-11-03 09:57:30 -08:00
sphinx-static
spi
staging
target
timers
trace FROMLIST: coresight: sink: Add TRBE driver 2021-03-01 12:52:16 -08:00
translations net: switch to the kernel.org patchwork instance 2020-11-11 17:12:00 -08:00
usb FROMGIT: usb: gadget: u_ether: support configuring interface names. 2021-01-19 09:32:57 +01:00
userspace-api BACKPORT: media: v4l2-ctrl: Add base layer priority id control. 2021-03-02 01:43:47 +00:00
virt UPSTREAM: KVM: arm64: Reject VM creation when the default IPA size is unsupported 2021-03-15 10:47:05 +00:00
vm UPSTREAM: mm/page_owner: record timestamp and pid 2021-01-06 23:25:47 +00:00
w1 docs: w1: w1_therm: Fix broken xref, mistakes, clarify text 2020-10-08 09:47:15 +02:00
watchdog
x86 x86/CPU/AMD: Save AMD NodeId as cpu_die_id 2020-12-30 11:54:29 +01:00
xtensa xtensa: fix TLBTEMP area placement 2020-11-16 02:13:15 -08:00
.gitignore
asm-annotations.rst x86/entry: Emit a symbol for register restoring thunk 2021-02-03 23:28:40 +01:00
atomic_bitops.txt
atomic_t.txt
Changes
CodingStyle
conf.py This pull contains a series of warning fixes from Mauro; once applied, the 2020-11-03 13:14:14 -08:00
COPYING-logo
docutils.conf
dontdiff
index.rst
Kconfig docs: Kconfig/Makefile: add a check for broken ABI files 2020-10-30 13:08:07 +01:00
logo.gif
Makefile A small number of fixes, plus a build tweak to respect the desire for 2020-11-03 09:57:30 -08:00
memory-barriers.txt
SubmittingPatches
watch_queue.rst