>>> On 07.03.17 at 15:58, <paul.durr...@citrix.com> wrote:
> The vlapic code already aborts an APIC assist if an interrupt is deferred
> because a higher priority interrupt has already been delivered (and hence
> its vector is pending in the ISR).
> 
> However, it is also necessary to abort an APIC assist in the case where a
> higher priority is about to be delivered because, in either case, at least
> two vectors will be pending in the ISR and hence an EOI is necessary.
> 
> Also, following on from the above reasoning, the decision to start a new
> APIC assist should clearly be based upon whether any other vector is
> pending in the ISR, regardless of whether it is lower or higher in
> priority. (In fact the code in question cannot be reached if the
> vector is lower in priority). Thus the single use of
> vlapic_find_lowest_vector() can be replaced with a call to
> vlapic_find_highest_isr() and the former function removed.
> 
> Without this patch, because the logic is flawed, a domain_crash() results
> when an attempt is made to erroneously start a new APIC assist.
> 
> Reported-by: Andrew Cooper <andrew.coop...@citrix.com>
> Signed-off-by: Paul Durrant <paul.durr...@citrix.com>

Reviewed-by: Jan Beulich <jbeul...@suse.com>



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

Reply via email to