xen/arm: irq: add missing spin_unlock() in init_local_irq_data() error path

If init_one_irq_desc() fails, init_local_irq_data() returns without
releasing local_irqs_type_lock, leading to a possible deadlock.

Release the lock before returning to ensure proper cleanup.

Fixes: 2bb32b8092 ("xen/irq: Propagate the error from init_one_desc_irq() in init_*_irq_data()")
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
Reviewed-by: Denis Mukhin <dmukhin@ford.com>
Acked-by: Julien Grall <jgrall@amazon.com>
This commit is contained in:
Mykola Kvach authored and Julien Grall committed 2025-08-12 12:04:41 +01:00
1 parent 911b305e7b
commit 4c3aa6e93d
1 file changed
+3
+3
View File
@@ -94,7 +94,10 @@ static int init_local_irq_data(unsigned int cpu)
int rc = init_one_irq_desc(desc);
if ( rc )
{
spin_unlock(&local_irqs_type_lock);
return rc;
}
desc->irq = irq;
desc->action = NULL;
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.