On 2014-04-16 11:02, Huw Davies wrote: > When entering an exception after an ICEBP, the saved instruction > pointer should point to after the instruction. > > This fixes the bug here: https://bugs.launchpad.net/qemu/+bug/1119686 > > Signed-off-by: Huw Davies <huw@xxxxxxxxxxxxxxx> > > --- > v2: Mask off DR6_RESERVED before comparing to zero. > > arch/x86/kvm/vmx.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c > index 1f68c58..930a0df 100644 > --- a/arch/x86/kvm/vmx.c > +++ b/arch/x86/kvm/vmx.c > @@ -4841,6 +4841,9 @@ static int handle_exception(struct kvm_vcpu *vcpu) > (KVM_GUESTDBG_SINGLESTEP | KVM_GUESTDBG_USE_HW_BP))) { > vcpu->arch.dr6 &= ~15; > vcpu->arch.dr6 |= dr6; > + if (!(dr6 & ~DR6_RESERVED)) /* icebp */ > + skip_emulated_instruction(vcpu); > + > kvm_queue_exception(vcpu, DB_VECTOR); > return 1; > } > Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> -- Siemens AG, Corporate Technology, CT RTC ITP SES-DE Corporate Competence Center Embedded Linux -- 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