[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] xc_hvm_inject_trap() races



On 11/02/2016 11:05 AM, Tamas K Lengyel wrote:
> On Nov 2, 2016 09:57, "Razvan Cojocaru" <rcojocaru@xxxxxxxxxxxxxxx
> <mailto:rcojocaru@xxxxxxxxxxxxxxx>> wrote:
>>
>> On 11/02/2016 10:49 AM, Jan Beulich wrote:
>> > The fact that {vmx,svm}_inject_trap() combine the new exception
>> > with an already injected one (and blindly discard events other than
>> > hw exceptions), otoh, looks like indeed wants to be controllable by
>> > the caller: When the event comes from the outside (the hypercall),
>> > it would clearly seem better to simply tell the caller that no injection
>> > happened and the event needs to be kept pending.
>>
>> However this is not possible with the current design, since all
>> xc_hvm_inject_trap() really does is set the info to be used at
>> hvm_do_resume() time. So at the time xc_hvm_inject_trap() returns, it's
>> not yet possible to know if the injection will succeed or not (assuming
>> we discard it when it would collide with another).
>>
> 
> You can always introduce a new (asynchronous?) vm_event for signaling a
> failed interrupt injection on the vCPU.

That might work, though I'm not sure it's an acceptable solution for the
problem - at the very least, we can't assume or require that the
xc_hvm_inject_trap() caller should register to, and process, vm_events.


Thanks,
Razvan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.