lkml.org 
[lkml]   [2022]   [Oct]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 082/390] KVM: x86/emulator: Fix handing of POP SS to correctly set interruptibility
    Date
    From: Michal Luczaj <mhal@rbox.co>

    commit 6aa5c47c351b22c21205c87977c84809cd015fcf upstream.

    The emulator checks the wrong variable while setting the CPU
    interruptibility state, the target segment is embedded in the instruction
    opcode, not the ModR/M register. Fix the condition.

    Signed-off-by: Michal Luczaj <mhal@rbox.co>
    Fixes: a5457e7bcf9a ("KVM: emulate: POP SS triggers a MOV SS shadow too")
    Cc: stable@vger.kernel.org
    Link: https://lore.kernel.org/all/20220821215900.1419215-1-mhal@rbox.co
    Signed-off-by: Sean Christopherson <seanjc@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    arch/x86/kvm/emulate.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/arch/x86/kvm/emulate.c
    +++ b/arch/x86/kvm/emulate.c
    @@ -2039,7 +2039,7 @@ static int em_pop_sreg(struct x86_emulat
    if (rc != X86EMUL_CONTINUE)
    return rc;

    - if (ctxt->modrm_reg == VCPU_SREG_SS)
    + if (seg == VCPU_SREG_SS)
    ctxt->interruptibility = KVM_X86_SHADOW_INT_MOV_SS;
    if (ctxt->op_bytes > 2)
    rsp_increment(ctxt, ctxt->op_bytes - 2);

    \
     
     \ /
      Last update: 2022-10-24 15:58    [W:3.415 / U:0.364 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site