• Paolo Bonzini's avatar
    KVM: x86: fix root cause for missed hardware breakpoints · 70e4da7a
    Paolo Bonzini authored
    Commit 172b2386 ("KVM: x86: fix missed hardware breakpoints",
    2016-02-10) worked around a case where the debug registers are not loaded
    correctly on preemption and on the first entry to KVM_RUN.
    
    However, Xiao Guangrong pointed out that the root cause must be that
    KVM_DEBUGREG_BP_ENABLED is not being set correctly.  This can indeed
    happen due to the lazy debug exit mechanism, which does not call
    kvm_update_dr7.  Fix it by replacing the existing loop (more or less
    equivalent to kvm_update_dr0123) with calls to all the kvm_update_dr*
    functions.
    
    Cc: stable@vger.kernel.org   # 4.1+
    Fixes: 172b2386Reviewed-by: default avatarXiao Guangrong <guangrong.xiao@linux.intel.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    70e4da7a
x86.c 214 KB