lkml.org 
[lkml]   [2014]   [Jul]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.14 68/94] kvm: fix wrong address when writing Hyper-V tsc page
    Date
    3.14-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Xiaoming Gao <newtongao@tencent.com>

    commit e1fa108d24697b78348fd4e5a531029a50d0d36d upstream.

    When kvm_write_guest writes the tsc_ref structure to the guest, or it will lead
    the low HV_X64_MSR_TSC_REFERENCE_ADDRESS_SHIFT bits of the TSC page address
    must be cleared, or the guest can see a non-zero sequence number.

    Otherwise Windows guests would not be able to get a correct clocksource
    (QueryPerformanceCounter will always return 0) which causes serious chaos.

    Signed-off-by: Xiaoming Gao <newtongao@tencnet.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    arch/x86/kvm/x86.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/arch/x86/kvm/x86.c
    +++ b/arch/x86/kvm/x86.c
    @@ -1866,7 +1866,7 @@ static int set_msr_hyperv_pw(struct kvm_
    if (!(data & HV_X64_MSR_TSC_REFERENCE_ENABLE))
    break;
    gfn = data >> HV_X64_MSR_TSC_REFERENCE_ADDRESS_SHIFT;
    - if (kvm_write_guest(kvm, data,
    + if (kvm_write_guest(kvm, gfn << HV_X64_MSR_TSC_REFERENCE_ADDRESS_SHIFT,
    &tsc_ref, sizeof(tsc_ref)))
    return 1;
    mark_page_dirty(kvm, gfn);



    \
     
     \ /
      Last update: 2014-07-08 03:22    [W:4.439 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site