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 DEB871891A9 for ; Sat, 4 Jul 2026 15:08:46 +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=1783177728; cv=none; b=mQIYlvH7Ba2YrSOZiWOhOmesPTHgGTKM9j4wPpJ/UyVugC92/1/dX2+zyMAuYw5lWakzEwP/vit8BIkbGnZyazeit7+aF6B0EsllRMv+dNQidJRWn+BE/mGAOiD2mg+qxz1RNIOjlteSsa3+62mUy+jvhvKiPnY9Cs6IHvgdiGw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783177728; c=relaxed/simple; bh=88RTfj3lZ6sDgc9ifDUS1xdjGfXcmRWPKhQTxHfEwcM=; h=Message-ID:Subject:From:To:Cc:Date:In-Reply-To:References: Content-Type:MIME-Version; b=gNkMwT6qecAAbhXPCS2XcfJMYe6CFLnYWR6JM/MLQqrWFxwOO1UG3cl7FetsAfRNIf0jhhMQAFOKwpwZ9qkvlt1mkmFBN1njrq0XxvkGSpnISMEG9fwrp+0dkpFakal15OoAvcMxuZZqjRzGL8sEE7ASiic/SvTPnnm+CoPr/2g= 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=EMh7typJ; 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="EMh7typJ" 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 8BBC6C24ED; Sat, 4 Jul 2026 18:08:43 +0300 (EEST) DKIM-Filter: OpenDKIM Filter v2.11.0 mail.mindbit.ro 8BBC6C24ED DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rendec.net; s=default; t=1783177724; bh=yUQJK8Ya9BR/9ttPEZaGzgZ9Fa9Nq8mqGT0mdKxFiLA=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=EMh7typJLGNWJcArEcDwLqP4del8SWCSqw0yYSiaizWQjF/zVTExvNtTM7LAueUfe qqyV/DMRG99wkdkLZa0r3+UXYb8AeEgyWY+RCXf/+WgTFfvg7i4wY0yBjecH0ir29s WvJ1JSjfacRYrMNJkSmyc4cf7KhTD5h9XIXcppjhX2Lr0sNK8U0oQlVLxaLHSEnkOI qskvu1Ii4hW5ABCH0tsBurCenCMpI8a4ddEAdozf38lmKD77Pd9jO27795nnp3015t YhN1qFYasN7zcElfKVaINCc0qlHg12Mo85VWQMLm+QydBqoZZ0dmWxNH/YJxdB1djH 1w5f8v2e2Nmdg== Message-ID: <79883533905997905b7bd84f3df0174af65f6c6d.camel@rendec.net> Subject: Re: [PATCH v4 2/6] irqchip/gic-v3-its: Fix its node leak in gic_acpi_parse_madt_its() 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 11:08:41 -0400 In-Reply-To: <20260702033050.1583-3-shikemeng@huaweicloud.com> References: <20260702033050.1583-1-shikemeng@huaweicloud.com> <20260702033050.1583-3-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 its node leak when its_probe_one() failed in > gic_acpi_parse_madt_its(). >=20 > Fixes: 9585a495ac936 ("irqchip/gic-v3-its: Split allocation from initiali= sation of its_node") > Signed-off-by: Kemeng Shi > --- > =C2=A0drivers/irqchip/irq-gic-v3-its.c | 8 ++++++-- > =C2=A01 file changed, 6 insertions(+), 2 deletions(-) >=20 > diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v= 3-its.c > index d721b6101e0a..3e4edcb64065 100644 > --- a/drivers/irqchip/irq-gic-v3-its.c > +++ b/drivers/irqchip/irq-gic-v3-its.c > @@ -5747,9 +5747,13 @@ static int __init gic_acpi_parse_madt_its(union ac= pi_subtable_headers *header, > =C2=A0 its->flags |=3D ITS_FLAGS_FORCE_NON_SHAREABLE; > =C2=A0 > =C2=A0 err =3D its_probe_one(its); > - if (!err) > - return 0; > + if (err) > + goto probe_err; > + > + return 0; > =C2=A0 > +probe_err: > + its_node_destroy(its); > =C2=A0node_err: > =C2=A0 iort_deregister_domain_token(its_entry->translation_id); > =C2=A0dom_err: Reviewed-by: Radu Rendec