twx-linux/include/uapi
Thomas Prescher 85542adb65 KVM: x86: Add KVM_RUN_X86_GUEST_MODE kvm_run flag
When a vCPU is interrupted by a signal while running a nested guest,
KVM will exit to userspace with L2 state. However, userspace has no
way to know whether it sees L1 or L2 state (besides calling
KVM_GET_STATS_FD, which does not have a stable ABI).

This causes multiple problems:

The simplest one is L2 state corruption when userspace marks the sregs
as dirty. See this mailing list thread [1] for a complete discussion.

Another problem is that if userspace decides to continue by emulating
instructions, it will unknowingly emulate with L2 state as if L1
doesn't exist, which can be considered a weird guest escape.

Introduce a new flag, KVM_RUN_X86_GUEST_MODE, in the kvm_run data
structure, which is set when the vCPU exited while running a nested
guest.  Also introduce a new capability, KVM_CAP_X86_GUEST_MODE, to
advertise the functionality to userspace.

[1] https://lore.kernel.org/kvm/20240416123558.212040-1-julian.stecklina@cyberus-technology.de/T/#m280aadcb2e10ae02c191a7dc4ed4b711a74b1f55

Signed-off-by: Thomas Prescher <thomas.prescher@cyberus-technology.de>
Signed-off-by: Julian Stecklina <julian.stecklina@cyberus-technology.de>
Link: https://lore.kernel.org/r/20240508132502.184428-1-julian.stecklina@cyberus-technology.de
Signed-off-by: Sean Christopherson <seanjc@google.com>
2024-06-11 09:24:31 -07:00
..
asm-generic mseal: wire up mseal syscall 2024-05-23 19:40:26 -07:00
drm drm/nouveau: use tile_mode and pte_kind for VM_BIND bo allocations 2024-05-13 22:27:33 +02:00
linux KVM: x86: Add KVM_RUN_X86_GUEST_MODE kvm_run flag 2024-06-11 09:24:31 -07:00
misc misc/pvpanic: add shutdown event definition 2024-04-11 15:12:10 +02:00
mtd
rdma RDMA/efa: Support QP with unsolicited write w/ imm. receive 2024-05-08 11:18:26 +03:00
regulator uapi: regulator: Fix typo 2024-01-04 13:22:24 +00:00
scsi SCSI misc on 20240514 2024-05-14 18:25:53 -07:00
sound ASoC: Updates for v6.10 2024-05-13 11:39:49 +02:00
video
xen xen/gntalloc: Replace UAPI 1-element array 2024-02-13 09:06:48 +01:00
Kbuild