lkml.org 
[lkml]   [2020]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.8 473/633] KVM: x86: emulating RDPID failure shall return #UD rather than #GP
    Date
    From: Robert Hoo <robert.hu@linux.intel.com>

    [ Upstream commit a9e2e0ae686094571378c72d8146b5a1a92d0652 ]

    Per Intel's SDM, RDPID takes a #UD if it is unsupported, which is more or
    less what KVM is emulating when MSR_TSC_AUX is not available. In fact,
    there are no scenarios in which RDPID is supposed to #GP.

    Fixes: fb6d4d340e ("KVM: x86: emulate RDPID")
    Signed-off-by: Robert Hoo <robert.hu@linux.intel.com>
    Message-Id: <1598581422-76264-1-git-send-email-robert.hu@linux.intel.com>
    Reviewed-by: Jim Mattson <jmattson@google.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/x86/kvm/emulate.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
    index d0e2825ae6174..571cb8657e53e 100644
    --- a/arch/x86/kvm/emulate.c
    +++ b/arch/x86/kvm/emulate.c
    @@ -3594,7 +3594,7 @@ static int em_rdpid(struct x86_emulate_ctxt *ctxt)
    u64 tsc_aux = 0;

    if (ctxt->ops->get_msr(ctxt, MSR_TSC_AUX, &tsc_aux))
    - return emulate_gp(ctxt, 0);
    + return emulate_ud(ctxt);
    ctxt->dst.val = tsc_aux;
    return X86EMUL_CONTINUE;
    }
    --
    2.25.1


    \
     
     \ /
      Last update: 2020-10-27 17:59    [W:5.713 / U:0.864 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site