[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] x86/apic: Avoid infinite loop in io_apic_level_ack_pending()
On 2025-09-05 03:39, Jan Beulich wrote: On 04.09.2025 23:51, Jason Andryuk wrote:io_apic_level_ack_pending() will end up in an infinite loop if entry->pin == -1. entry does not change, so it will keep reading -1. Switched to breaking out of the loop. Fixes: f821102450a1 ("x86: IRQ Migration logic enhancement.") Signed-off-by: Jason Andryuk <jason.andryuk@xxxxxxx> --- Noticed during code inspection.Well spotted, just that ...--- a/xen/arch/x86/io_apic.c +++ b/xen/arch/x86/io_apic.c @@ -1715,7 +1715,7 @@ static bool io_apic_level_ack_pending(unsigned int irq)pin = entry->pin;if (pin == -1) - continue; + break;... we shouldn't terminate the loop here, but rather continue with the next entry in the list (if any). Hence presumably why "continue" was used, without achieving the intended effect. Ok, makes sense. Though after the sending the patch, I was wondering if it was an unreachable condition, and we should not end up here with pin == -1. Thanks, Jason
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |