From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.mindbit.ro (xs1.mindbit.ro [80.86.107.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 692E32B2D7 for ; Sat, 4 Jul 2026 14:51:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=80.86.107.70 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783176683; cv=none; b=uUwIoXixuDknUKJN56u/PUGmrr3ftJ4q2y1k6gS5yKCB2gB55bHSRm5ToiAX0sQfTwBq5khEkJHdAj1QPP2PgwgWl4gAgRZ+M/oSOTX7PT/zaaF2C0kmhVhnbKLvm3jn597wVC1JUe8BTgfQI8fAZ3Qr5qGCmjtlrcIdLvwqY9c= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783176683; c=relaxed/simple; bh=86TuJgoZVd2EzCuKsYotKBJ11SLh0LqfpJ+bNPBWaJY=; h=Message-ID:Subject:From:To:Cc:Date:In-Reply-To:References: Content-Type:MIME-Version; b=c/K62mY97CN1rnpSwXKbfGALXunI33h+WQ8APvbhGGl80TzksCz3EXugjwi2hrOsFf+rzE4DyZWTuDhI+MC5ux/lDv+B8IpJ3bslhIhF/yNvicj2mV2Mz8RyOLKOc40us0VwnwWmT4cUZ529X9UjmCbW0U3D2TRCZ5vpP9BsNHU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=rendec.net; spf=pass smtp.mailfrom=rendec.net; dkim=pass (2048-bit key) header.d=rendec.net header.i=@rendec.net header.b=pzEli5Bh; arc=none smtp.client-ip=80.86.107.70 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=rendec.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=rendec.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=rendec.net header.i=@rendec.net header.b="pzEli5Bh" Received: from dog.kanata.rendec.net (pool-174-112-193-187.cpe.net.cable.rogers.com [174.112.193.187]) by mail.mindbit.ro (Postfix) with ESMTPSA id AC6D4C24ED; Sat, 4 Jul 2026 17:51:11 +0300 (EEST) DKIM-Filter: OpenDKIM Filter v2.11.0 mail.mindbit.ro AC6D4C24ED DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rendec.net; s=default; t=1783176672; bh=HMZjFgCnK4BG1UhsWumnII7xCxYwlRHtY7CwcOaC6gE=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=pzEli5Bhrxl8Qe8nK6PlPlfEOwCA5ylVy0AqrC0P9t4wXF+rwSBKiQ36djn7E6QJq lSHWh1rPFXrhz/YyS+7eXqANMyLTppT8l9qCSwfx6fdOEb3K+CLaFDSJ8RwNnLLkif Wt1S8Vq+qEcu742uTKPxmB8ePl6Ajb7ikr59B+qFmc6XrVibsdaO2wsNDU9WQWx+ZZ aeKsic2PjSVGl9Fm1gSqJbp5R4qU/h+Spckd6CdRMZ33iAUtFsKjr5qKfvD50bjqJ6 61Oz3jFe5U2WcJeAwBbScihBc0twRYxs6oxgyEY2E+GS4uHpx6Ydx00umN9qYCokcF iUvaBImTcp/Jw== Message-ID: <24de1fda7ed76615b2c24fe0352b5b1cb35038d6.camel@rendec.net> Subject: Re: [PATCH v4 1/6] irqchip/gic-v3-its: Fix memleak in its_probe_one() From: Radu Rendec To: Kemeng Shi , maz@kernel.org, tglx@kernel.org, jason@lakedaemon.net, lpieralisi@kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Date: Sat, 04 Jul 2026 10:51:09 -0400 In-Reply-To: <20260702033050.1583-2-shikemeng@huaweicloud.com> References: <20260702033050.1583-1-shikemeng@huaweicloud.com> <20260702033050.1583-2-shikemeng@huaweicloud.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.58.3 (3.58.3-1.fc43) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 On Thu, 2026-07-02 at 11:30 +0800, Kemeng Shi wrote: > Fix collection leak when its_init_domain() failed in its_probe_one(). >=20 > Fixes: 4c21f3c26ecc2 ("irqchip: GICv3: ITS: DT probing and initialization= ") > Signed-off-by: Kemeng Shi > --- > =C2=A0drivers/irqchip/irq-gic-v3-its.c | 4 +++- > =C2=A01 file changed, 3 insertions(+), 1 deletion(-) >=20 > diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v= 3-its.c > index 291d7668cc8d..d721b6101e0a 100644 > --- a/drivers/irqchip/irq-gic-v3-its.c > +++ b/drivers/irqchip/irq-gic-v3-its.c > @@ -5326,7 +5326,7 @@ static int __init its_probe_one(struct its_node *it= s) > =C2=A0 > =C2=A0 err =3D its_init_domain(its); > =C2=A0 if (err) > - goto out_free_tables; > + goto out_free_col; > =C2=A0 > =C2=A0 raw_spin_lock(&its_lock); > =C2=A0 list_add(&its->entry, &its_nodes); > @@ -5334,6 +5334,8 @@ static int __init its_probe_one(struct its_node *it= s) > =C2=A0 > =C2=A0 return 0; > =C2=A0 > +out_free_col: > + kfree(its->collections); > =C2=A0out_free_tables: > =C2=A0 its_free_tables(its); > =C2=A0out_free_cmd: Reviewed-by: Radu Rendec