[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] xc_hvm_inject_trap() races
>>> Razvan Cojocaru <rcojocaru@xxxxxxxxxxxxxxx> 11/01/16 10:04 AM >>> >We've stumbled across the following scenario: we're injecting a #PF to >try to bring a swapped page back, but Xen already have a pending >interrupt, and the two collide. > >I've logged what happens in hvm_do_resume() at the point of injection, >and stumbled across this: > >(XEN) [ 252.878389] vector: 14, type: 3, error_code: 0, >VM_ENTRY_INTR_INFO: 0x00000000800000e1 > >VM_ENTRY_INTR_INFO does have INTR_INFO_VALID_MASK set here. So a first question I have is this: What are the criteria that made your application decide it needs to inject a trap? Obviously there must have been some kind of event in the guest that triggered this. Hence the question is whether this same event wouldn't re-trigger at the end of the hardware interrupt (or could be made re-trigger reasonably easily). Because in the end what you're trying to do here is something that's architecturally impossible: There can't be a (non-nested) exception once an external interrupt has been accepted (i.e. any subsequent exception can only be related to the delivery of that interrupt vector, not to the code which was running when the interrupt was signaled). Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |