linux/Documentation
Jim Mattson e2ffe85b6d KVM: x86: Introduce KVM_X86_QUIRK_VMCS12_ALLOW_FREEZE_IN_SMM
Add KVM_X86_QUIRK_VMCS12_ALLOW_FREEZE_IN_SMM to allow L1 to set
FREEZE_IN_SMM in vmcs12's GUEST_IA32_DEBUGCTL field, as permitted
prior to commit 6b1dd26544 ("KVM: VMX: Preserve host's
DEBUGCTLMSR_FREEZE_IN_SMM while running the guest").  Enable the quirk
by default for backwards compatibility (like all quirks); userspace
can disable it via KVM_CAP_DISABLE_QUIRKS2 for consistency with the
constraints on WRMSR(IA32_DEBUGCTL).

Note that the quirk only bypasses the consistency check.  The vmcs02 bit is
still owned by the host, and PMCs are not frozen during virtualized SMM.
In particular, if a host administrator decides that PMCs should not be
frozen during physical SMM, then L1 has no say in the matter.

Fixes: 095686e6fc ("KVM: nVMX: Check vmcs12->guest_ia32_debugctl on nested VM-Enter")
Cc: stable@vger.kernel.org
Signed-off-by: Jim Mattson <jmattson@google.com>
Link: https://patch.msgid.link/20260205231537.1278753-1-jmattson@google.com
[sean: tag for stable@, clean-up and fix goofs in the comment and docs]
Signed-off-by: Sean Christopherson <seanjc@google.com>
[Rename quirk. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-03-11 18:41:11 +01:00
..
ABI dmaengine updates for v7.0 2026-02-17 11:47:17 -08:00
PCI Networking changes for 7.0 2026-02-11 19:31:52 -08:00
RCU A slightly calmer cycle for docs this time around, though there is still a 2026-02-09 20:53:18 -08:00
accel
accounting delayacct: add timestamp of delay max 2026-01-31 16:16:06 -08:00
admin-guide vsock: document write-once behavior of the child_ns_mode sysctl 2026-02-26 11:10:03 +01:00
arch RISC-V updates for v7.0 2026-02-12 19:17:44 -08:00
block
bpf bpf-next-7.0 2026-02-10 11:26:21 -08:00
cdrom
core-api A handful of small, late-arriving documentation fixes. 2026-02-15 10:47:59 -08:00
cpu-freq
crypto
dev-tools Documentation: Coccinelle: document debug log handling 2026-02-21 17:22:45 +01:00
devicetree spi: Fixes for v7.0 2026-02-28 09:21:18 -08:00
doc-guide
driver-api dmaengine updates for v7.0 2026-02-17 11:47:17 -08:00
edac
fault-injection
fb
features s390: Document s390 stackprotector support 2026-02-03 12:48:27 +01:00
filesystems overlayfs updates for 7.0 2026-02-17 15:08:24 -08:00
firmware-guide docs: fix 're-use' -> 'reuse' in documentation 2026-02-02 09:54:15 -07:00
firmware_class
fpga
gpu drm for 7.0-rc1 2026-02-11 12:55:44 -08:00
hid
hwmon hwmon updates for v7.0 2026-02-11 11:00:19 -08:00
i2c
iio
images
infiniband
input docs: fix 're-use' -> 'reuse' in documentation 2026-02-02 09:54:15 -07:00
isdn
kbuild Kbuild/Kconfig updates for 7.0 2026-02-11 13:40:35 -08:00
kernel-hacking
leds docs: leds: Document TI LP5812 LED driver 2026-02-04 09:23:37 +00:00
litmus-tests
livepatch
locking
maintainer
mhi
misc-devices TTY / Serial driver updates for 7.0-rc1 2026-02-17 09:30:52 -08:00
mm A handful of small, late-arriving documentation fixes. 2026-02-15 10:47:59 -08:00
netlabel
netlink NFSD 7.0 Release Notes 2026-02-12 08:23:53 -08:00
networking ipv6: icmp: remove obsolete code in icmpv6_xrlim_allow() 2026-02-18 16:46:36 -08:00
nvdimm
nvme
pcmcia
peci
power power supply and reset changes for the 7.0 series 2026-02-12 18:24:37 -08:00
process A handful of small, late-arriving documentation fixes. 2026-02-15 10:47:59 -08:00
rust Rust changes for v6.20 / v7.0 2026-02-10 11:53:01 -08:00
scheduler bpf-next-7.0 2026-02-10 11:26:21 -08:00
scsi SCSI misc on 20260212 2026-02-12 15:43:02 -08:00
security docs: trusted-encryped: add PKWM as a new trust source 2026-01-30 09:27:27 +05:30
sound docs: fix 're-use' -> 'reuse' in documentation 2026-02-02 09:54:15 -07:00
sphinx
sphinx-includes
sphinx-static
spi spi: Updates for v7.0 2026-02-11 09:43:43 -08:00
staging
sunrpc/xdr
target
tee
timers
tools RTLA patches for v7.0 2026-02-12 14:31:02 -08:00
trace Char/Misc/IIO driver changes for 7.0-rc1 2026-02-17 09:11:04 -08:00
translations mm.git review status for linus..mm-stable 2026-02-12 11:32:37 -08:00
usb USB / Thunderbolt changes for 7.0-rc1 2026-02-17 09:36:43 -08:00
userspace-api Char/Misc/IIO driver changes for 7.0-rc1 2026-02-17 09:11:04 -08:00
virt KVM: x86: Introduce KVM_X86_QUIRK_VMCS12_ALLOW_FREEZE_IN_SMM 2026-03-11 18:41:11 +01:00
w1
watchdog linux-watchdog 6.20-rc1 tag 2026-02-16 12:21:22 -08:00
wmi platform-drivers-x86 for v7.0-1 2026-02-13 15:39:15 -08:00
.gitignore
.renames.txt
Changes
CodingStyle
Kconfig
Makefile
SubmittingPatches
atomic_bitops.txt
atomic_t.txt
conf.py
docutils.conf
index.rst
memory-barriers.txt
subsystem-apis.rst