diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2024-04-28 11:51:13 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2024-04-28 11:51:13 -0700 |
commit | 8d62e9bf287588c839b67e567c8b2b548e849b00 (patch) | |
tree | 04fd8a7c96b54c79242169dcdcce8f4b736dfc7d | |
parent | 2c8159388952f530bd260e097293ccc0209240be (diff) | |
parent | c26591afd33adce296c022e3480dea4282b7ef91 (diff) | |
download | linux-stable-8d62e9bf287588c839b67e567c8b2b548e849b00.tar.gz linux-stable-8d62e9bf287588c839b67e567c8b2b548e849b00.tar.bz2 linux-stable-8d62e9bf287588c839b67e567c8b2b548e849b00.zip |
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.c | 9 |
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 2a537cbfcb07..5f7d3db3afd8 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; } |