|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 8/8] x86/vm_event: Add HVM debug exception vm_events
>>> @@ -3393,8 +3409,9 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>>> }
>>> else {
>>> int handled =
>>> - hvm_monitor_breakpoint(regs->eip,
>>> -
>>> HVM_MONITOR_SOFTWARE_BREAKPOINT);
>>> + hvm_monitor_debug(regs->eip,
>>> + HVM_MONITOR_SOFTWARE_BREAKPOINT,
>>> + X86_EVENTTYPE_SW_EXCEPTION, 1);
>> Please let's not add further mistakes like this, assuming INT3 can't
>> have any prefixes. It can, even if they're useless.
> You mean the instruction length is not necessarily 1? Ultimately it
> doesn't seem to matter because reinjecting it with xc_hvm_inject_trap
> ignores this field. Instruction length is only required to be properly
> set AFAICT for a subset of debug exceptions during reinjection.
Almost all x86 instructions can have redundant prefixes which change
their length without altering their functionality.
This specific area was the subject of XSA-106, and is astoundingly fragile.
Luckily, I have an available functional test which confirms correct
behaviour from the point of view of the guest.
http://xenbits.xen.org/people/andrewcoop/xen-test-framework/test-swint-emulation.html
Please confirm that this test returns success even when being monitored
with this new functionality.
~Andrew
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |