summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorOliver Upton <oupton@google.com>2022-03-16 00:55:37 +0000
committerPaolo Bonzini <pbonzini@redhat.com>2022-04-02 05:41:10 -0400
commitf1a9761fbb00639c5e73835f7f373ef834bb867f (patch)
tree423a1f817617a7cc72d059ab2a83639469a7034f /include/linux
parentc15e0ae42c8e5a61e9aca8aac920517cf7b3e94e (diff)
KVM: x86: Allow userspace to opt out of hypercall patching
KVM handles the VMCALL/VMMCALL instructions very strangely. Even though both of these instructions really should #UD when executed on the wrong vendor's hardware (i.e. VMCALL on SVM, VMMCALL on VMX), KVM replaces the guest's instruction with the appropriate instruction for the vendor. Nonetheless, older guest kernels without commit c1118b3602c2 ("x86: kvm: use alternatives for VMCALL vs. VMMCALL if kernel text is read-only") do not patch in the appropriate instruction using alternatives, likely motivating KVM's intervention. Add a quirk allowing userspace to opt out of hypercall patching. If the quirk is disabled, KVM synthesizes a #UD in the guest. Signed-off-by: Oliver Upton <oupton@google.com> Message-Id: <20220316005538.2282772-2-oupton@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions