summaryrefslogtreecommitdiffstats
path: root/virt
diff options
context:
space:
mode:
authorVitaly Kuznetsov <vkuznets@redhat.com>2022-01-12 18:01:34 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2022-01-28 13:38:26 +0100
commit6cbbaab60ff33f59355492c241318046befd9ffc (patch)
treeb4c7e04bd25e93914e12090002c7ed3a9cd607d1 /virt
parentKVM: nVMX: Implement evmcs_field_offset() suitable for handle_vmread() (diff)
downloadlinux-6cbbaab60ff33f59355492c241318046befd9ffc.tar.xz
linux-6cbbaab60ff33f59355492c241318046befd9ffc.zip
KVM: nVMX: Allow VMREAD when Enlightened VMCS is in use
Hyper-V TLFS explicitly forbids VMREAD and VMWRITE instructions when Enlightened VMCS interface is in use: "Any VMREAD or VMWRITE instructions while an enlightened VMCS is active is unsupported and can result in unexpected behavior."" Windows 11 + WSL2 seems to ignore this, attempts to VMREAD VMCS field 0x4404 ("VM-exit interruption information") are observed. Failing these attempts with nested_vmx_failInvalid() makes such guests unbootable. Microsoft confirms this is a Hyper-V bug and claims that it'll get fixed eventually but for the time being we need a workaround. (Temporary) allow VMREAD to get data from the currently loaded Enlightened VMCS. Note: VMWRITE instructions remain forbidden, it is not clear how to handle them properly and hopefully won't ever be needed. Reviewed-by: Sean Christopherson <seanjc@google.com> Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> Message-Id: <20220112170134.1904308-6-vkuznets@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'virt')
0 files changed, 0 insertions, 0 deletions