Commit 652d54e7 authored by Tiezhu Yang's avatar Tiezhu Yang Committed by Marc Zyngier
Browse files

irqchip/loongson-htvec: Fix potential resource leak



In the function htvec_of_init(), system resource "parent_irq"
was not released in an error case. Thus add a jump target for
the completion of the desired exception handling.

Fixes: 818e915f ("irqchip: Add Loongson HyperTransport Vector support")
Signed-off-by: default avatarTiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/1594087972-21715-4-git-send-email-yangtiezhu@loongson.cn
parent 85efd605
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -192,7 +192,7 @@ static int htvec_of_init(struct device_node *node,
	if (!priv->htvec_domain) {
		pr_err("Failed to create IRQ domain\n");
		err = -ENOMEM;
		goto iounmap_base;
		goto irq_dispose;
	}

	htvec_reset(priv);
@@ -203,6 +203,9 @@ static int htvec_of_init(struct device_node *node,

	return 0;

irq_dispose:
	for (; i > 0; i--)
		irq_dispose_mapping(parent_irq[i - 1]);
iounmap_base:
	iounmap(priv->base);
free_priv: