lkml.org 
[lkml]   [2011]   [Jan]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 1/2] KVM: SVM: Fix NMI path when NMI happens in guest mode
    On 01/13/2011 05:22 PM, Joerg Roedel wrote:
    > The vmexit path on SVM needs to restore the KERNEL_GS_BASE
    > MSR in order to savely execute the NMI handler. Otherwise a
    > pending NMI can occur after the STGI instruction and crash
    > the machine.
    > This makes it impossible to run perf and kvm in parallel on
    > an AMD machine in a stable way.
    >
    > Cc: stable@kernel.org
    > Signed-off-by: Joerg Roedel<joerg.roedel@amd.com>
    > ---
    > arch/x86/kvm/svm.c | 1 +
    > 1 files changed, 1 insertions(+), 0 deletions(-)
    >
    > diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
    > index 25bd1bc..8b9bc72 100644
    > --- a/arch/x86/kvm/svm.c
    > +++ b/arch/x86/kvm/svm.c
    > @@ -3637,6 +3637,7 @@ static void svm_vcpu_run(struct kvm_vcpu *vcpu)
    >
    > #ifdef CONFIG_X86_64
    > wrmsrl(MSR_GS_BASE, svm->host.gs_base);
    > + wrmsrl(MSR_KERNEL_GS_BASE, current->thread.gs);
    > #else
    > loadsegment(fs, svm->host.fs);
    > #endif

    Why would an NMI crash if MSR_KERNEL_GS_BASE is bad?

    I see save_paranoid depends on MSR_GS_BASE (specifically its sign, which
    is bad for the new instructions that allow userspace to write gsbase),
    but not on MSR_KERNEL_GS_BASE.

    --
    error compiling committee.c: too many arguments to function



    \
     
     \ /
      Last update: 2011-01-13 16:47    [W:0.021 / U:31.160 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site