Re: [PATCH 0/3] KVM, pkeys: fix handling of PKRU across migration

From: Paolo Bonzini
Date: Mon Sep 11 2017 - 06:01:20 EST


On 28/08/2017 03:32, Quan Xu wrote:
>
> Paoloï I have verified this patch set..

Thanks! In the end I managed to use QEMU's SVM emulation to convince
myself that the code was correct, so it is already included in Linux 4.13.

Paolo

> Tested-by: Quan Xu <quan.xu0@xxxxxxxxx <mailto:quan.xu0@xxxxxxxxx>>
>
> 2017-08-25 8:43 GMT+08:00 Yang Zhang <yang.zhang.wz@xxxxxxxxx
> <mailto:yang.zhang.wz@xxxxxxxxx>>:
>
> 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
>
>