aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2024-04-28 11:51:13 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2024-04-28 11:51:13 -0700
commit8d62e9bf287588c839b67e567c8b2b548e849b00 (patch)
tree04fd8a7c96b54c79242169dcdcce8f4b736dfc7d
parent2c8159388952f530bd260e097293ccc0209240be (diff)
parentc26591afd33adce296c022e3480dea4282b7ef91 (diff)
downloadlinux-8d62e9bf287588c839b67e567c8b2b548e849b00.tar.gz
Merge tag 'irq-urgent-2024-04-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq fix from Ingo Molnar: "Fix a double free bug in the init error path of the GICv3 irqchip driver" * tag 'irq-urgent-2024-04-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: irqchip/gic-v3-its: Prevent double free on error
-rw-r--r--drivers/irqchip/irq-gic-v3-its.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
index 2a537cbfcb0772..5f7d3db3afd824 100644
--- a/drivers/irqchip/irq-gic-v3-its.c
+++ b/drivers/irqchip/irq-gic-v3-its.c
@@ -4567,13 +4567,8 @@ static int its_vpe_irq_domain_alloc(struct irq_domain *domain, unsigned int virq
irqd_set_resend_when_in_progress(irq_get_irq_data(virq + i));
}
- if (err) {
- if (i > 0)
- its_vpe_irq_domain_free(domain, virq, i);
-
- its_lpi_free(bitmap, base, nr_ids);
- its_free_prop_table(vprop_page);
- }
+ if (err)
+ its_vpe_irq_domain_free(domain, virq, i);
return err;
}