Commit e5f6fafcd9 for qemu.org

commit e5f6fafcd92a71aca27ffcfa3980f96ea5a512c4
Author: Peter Maydell <peter.maydell@linaro.org>
Date:   Tue May 12 10:38:56 2026 +0100

    hw/intc/arm_gicv5: Add missing early return in gicv5_set_handling()

    In gicv5_set_handling(), if the guest tried to set the handling mode
    on a nonexistent SPI then we print a GUEST_ERROR log message.
    However, we forgot to then return, so execution continues into a NULL
    pointer dereference.

    Add the missing "return", bringing the code structure in to line with
    the equivalent parts in other functions like gicv5_set_pending() and
    gicv5_set_target().

    CID: 1659596
    Fixes: 5beb48ab53d ("hw/intc/arm_gicv5: Make gicv5_set_* update SPI state")
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
    Message-id: 20260512093856.3197700-5-peter.maydell@linaro.org

diff --git a/hw/intc/arm_gicv5.c b/hw/intc/arm_gicv5.c
index 7ad274e369..6b1dd04991 100644
--- a/hw/intc/arm_gicv5.c
+++ b/hw/intc/arm_gicv5.c
@@ -926,6 +926,7 @@ void gicv5_set_handling(GICv5Common *cs, uint32_t id,
         if (!spi) {
             qemu_log_mask(LOG_GUEST_ERROR, "gicv5_set_handling: tried to set "
                           "priority of unreachable SPI %d\n", id);
+            return;
         }

         spi->hm = handling;