Sorry for spamming. The correct fix appears to reload the DRs (set KVM_DEBUGREG_RELOAD) in kvm_arch_vcpu_load . (for me it works) Regards, Nadav Nadav Amit <nadav.amit@xxxxxxxxx> wrote: > I think the problem lies here: > > /* > * If the guest has used debug registers, at least dr7 > * will be disabled while returning to the host. > * If we don't have active breakpoints in the host, we don't > * care about the messed up debug address registers. But if > * we have some of them active, restore the old state. > */ > if (hw_breakpoint_active()) { > hw_breakpoint_restore(); > } > > First we need to reload the DRs after we do hw_breakpoint_restore(), no? > vcpu->arch.switch_db_regs |= KVM_DEBUGREG_RELOAD; > > Second, I am unsure whether hw_breakpoint_active() is the correct condition. > > In my defense note that my tests did not his this case since I set affinity > of the VCPUs to physical cores, and prevented other processes from running. > > Regards, > Nadav > > Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote: > >> On 29/01/2016 23:21, Andrew Vagin wrote: >>> On Thu, Jan 28, 2016 at 02:42:25PM -0800, Andrey Wagin wrote: >>>> On Thu, Jan 28, 2016 at 10:33:28PM +0100, Paolo Bonzini wrote: >>>>> On 28/01/2016 09:31, Andrey Wagin wrote: >>>>>> I tried to print drX registers after a break-point. Looks like they >>>>>> are set correctly. >>>>> >>>>> Can you try this KVM patch? >>>> >>>> Looks like it fixes a case when reproducers are running only in VM. >>> >>> Actually Oleg's reproducer detects the bug with this patch when they are >>> rinning only in VM. >> >> That's actually a good thing, because the patch was a long shot and I >> had no clue _why_ it would have fixed the bug. Oleg's reproducer >> spanning host and a VM actually gives me an idea of what is going on, >> I'll try to reproduce this week. >> >> Paolo >> -- >> To unsubscribe from this list: send the line "unsubscribe kvm" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html