summaryrefslogtreecommitdiff
path: root/arch/mips/cavium-octeon/octeon-irq.c
diff options
context:
space:
mode:
authorSean Christopherson <seanjc@google.com>2022-08-24 03:30:57 +0000
committerPaolo Bonzini <pbonzini@redhat.com>2022-09-22 17:04:20 -0400
commit50b2d49bafa16e6311ab2da82f5aafc5f9ada99b (patch)
tree015b2784e843c9dee25f3f7b7b64a996e9003ff1 /arch/mips/cavium-octeon/octeon-irq.c
parenta1020a25e69755a8a1a37735d674b91d6f02939f (diff)
KVM: x86: Inject #UD on emulated XSETBV if XSAVES isn't enabled
Inject #UD when emulating XSETBV if CR4.OSXSAVE is not set. This also covers the "XSAVE not supported" check, as setting CR4.OSXSAVE=1 #GPs if XSAVE is not supported (and userspace gets to keep the pieces if it forces incoherent vCPU state). Add a comment to kvm_emulate_xsetbv() to call out that the CPU checks CR4.OSXSAVE before checking for intercepts. AMD'S APM implies that #UD has priority (says that intercepts are checked before #GP exceptions), while Intel's SDM says nothing about interception priority. However, testing on hardware shows that both AMD and Intel CPUs prioritize the #UD over interception. Fixes: 02d4160fbd76 ("x86: KVM: add xsetbv to the emulator") Cc: stable@vger.kernel.org Cc: Vitaly Kuznetsov <vkuznets@redhat.com> Signed-off-by: Sean Christopherson <seanjc@google.com> Message-Id: <20220824033057.3576315-4-seanjc@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/mips/cavium-octeon/octeon-irq.c')
0 files changed, 0 insertions, 0 deletions