diff options
| author | Kemeng Shi <shikemeng@huaweicloud.com> | 2026-07-02 11:30:45 +0800 |
|---|---|---|
| committer | Thomas Gleixner <tglx@kernel.org> | 2026-07-07 22:49:37 +0200 |
| commit | 1efffab6fe336a5c4fd3c2886f255cd2f998e65f (patch) | |
| tree | e724f7d2f5ba3c3f63603514b0e73a567c0f551a | |
| parent | 4c4985305d474e8c7a99192fdd54d3bfe9b501f1 (diff) | |
irqchip/gic-v3-its: Fix memleak in its_probe_one()
Fix collection leak when its_init_domain() failed in its_probe_one().
Fixes: 4c21f3c26ecc2 ("irqchip: GICv3: ITS: DT probing and initialization")
Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Reviewed-by: Radu Rendec <radu@rendec.net>
Link: https://patch.msgid.link/20260702033050.1583-2-shikemeng@huaweicloud.com
| -rw-r--r-- | drivers/irqchip/irq-gic-v3-its.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c index b57d81ad33a0..1ab6fc7ec862 100644 --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c @@ -5322,7 +5322,7 @@ static int __init its_probe_one(struct its_node *its) err = its_init_domain(its); if (err) - goto out_free_tables; + goto out_free_collection; raw_spin_lock(&its_lock); list_add(&its->entry, &its_nodes); @@ -5330,6 +5330,8 @@ static int __init its_probe_one(struct its_node *its) return 0; +out_free_collection: + kfree(its->collections); out_free_tables: its_free_tables(its); out_free_cmd: |
