On 2017/8/24 18:12, Paolo Bonzini wrote:
The host pkru is restored right after vcpu exit (commit 1be0e61), so KVM_GET_XSAVE will return the host PKRU value instead. In general, the PKRU value in vcpu->arch.guest_fpu.state cannot be trusted. Series as follows: 1) fix independent bug which would cause an oops 2) remove an unnecessary abstraction 3) fix the bug Please test the patches, as I don't have the affected hardware. Note that I need the results before tomorrow in order to send these patches to Linus before going on vacation.
hi Quan Can you help to test Paolo's patch?
Thanks, Paolo Paolo Bonzini (3): KVM: x86: block guest protection keys unless the host has them enabled KVM: x86: simplify handling of PKRU KVM, pkeys: do not use PKRU value in vcpu->arch.guest_fpu.state arch/x86/include/asm/fpu/internal.h | 6 +++--- arch/x86/include/asm/kvm_host.h | 1 + arch/x86/kvm/cpuid.c | 2 +- arch/x86/kvm/kvm_cache_regs.h | 5 ----- arch/x86/kvm/mmu.h | 2 +- arch/x86/kvm/svm.c | 7 ------- arch/x86/kvm/vmx.c | 25 ++++++++----------------- arch/x86/kvm/x86.c | 17 ++++++++++++++--- 8 files changed, 28 insertions(+), 37 deletions(-)
-- Yang Alibaba Cloud Computing