Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp4142878pxb; Mon, 27 Sep 2021 10:15:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy24+lhr/Hx2dVG5W4W696J9Z1Zgr7T4JLghkTU1jZM6Gv5Np0NYuRUeVWdAcvMZjlYLLll X-Received: by 2002:a17:90b:4d08:: with SMTP id mw8mr181926pjb.97.1632762907775; Mon, 27 Sep 2021 10:15:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632762907; cv=none; d=google.com; s=arc-20160816; b=wB6MmGtGTLqwmDigZgv6ajvOKyeb2ATaA6ZJd0WV0TeBa5KT+gXSsaAByyp4kNVfbg F38jXzahI2VrKfSf02CfBrHWLlBj/xIgYGVFZ1uDCd8+lX0y/oOZVEmuk5OTel3Yu7Aj eTdqKzKYIqvtuIwUFUMwPNrqp9cnG7Rn36Qjg5/MtCOTySCZgfKxu4yL4doRye02CGza Gur0JR8XvG/yTtQdl6TYx4v4qcStYk6kXQRYF24S/x6Ir5kg2tjEtJQiac4Rc7Mon3J/ 2ePIK8FDNULrriBpR3FHeIjZKVZxsUkF++1N0wcx2SluICd1azkDhX9M2Yk2jli5mJ7P G3Vw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=NpC4skU/E+00D4JZkfDWAdOp5as4HpAmY3RkNz9P3Ss=; b=K773IJpYK/3IXZ2T/41durf28oA2vRacejj0D8ojlqtiwthmL32sBT/+Sznn9SMFJ0 i1zHuOK2SvtroGVSQe1a5nrslntKIpV5YaI2dPvOjbUEzrjUc4rpi6ByezjTzELZfaEu YkV9VgOHaj4BK3A28JxXQWgpSO6PIfHXD95Lf8AaNlLpQyXQbWbEJMp8jNg85c//K4Bs v9xM8Tk1t+1i/WOoRrJg5etFI1FrF8wK1DTGeb9alISlk0q0N2yoDzJK6j6d2XZ9BdBx KW2tQl5twvBFIXyWMfrko9yxx+GnmwFu2kF5mbF430zP3r+hIMVTsNj4+4/0ts4wq2iK gW/Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=VdkcbY0g; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id mp16si152779pjb.67.2021.09.27.10.14.53; Mon, 27 Sep 2021 10:15:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=VdkcbY0g; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236800AbhI0RPi (ORCPT + 99 others); Mon, 27 Sep 2021 13:15:38 -0400 Received: from mail.kernel.org ([198.145.29.99]:56112 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236859AbhI0RNT (ORCPT ); Mon, 27 Sep 2021 13:13:19 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 8B579611EF; Mon, 27 Sep 2021 17:09:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1632762551; bh=vCQBPIh7koiFQ78SN6YCIIM9b2GHDSIeSVZdr1JiASk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VdkcbY0gVN3E2Z3d0Hf14cKqv9Jkt+wjNavDQ2T9QLExZb1NsQijGfbRv4QOG1P9Z pqenNQpx8WtT37T/TJIad4sUdQyZSsjPc2w3ATetULPyXkYmqrrXGtG2gNvJvPSrlI 0ZUJacy4dx6mD/oEDPV8ah+SwcWbIiLjWCqekU7U= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Kaige Fu , Marc Zyngier , Sasha Levin Subject: [PATCH 5.10 067/103] irqchip/gic-v3-its: Fix potential VPE leak on error Date: Mon, 27 Sep 2021 19:02:39 +0200 Message-Id: <20210927170228.097563716@linuxfoundation.org> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210927170225.702078779@linuxfoundation.org> References: <20210927170225.702078779@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Kaige Fu [ Upstream commit 280bef512933b2dda01d681d8cbe499b98fc5bdd ] In its_vpe_irq_domain_alloc, when its_vpe_init() returns an error, there is an off-by-one in the number of VPEs to be freed. Fix it by simply passing the number of VPEs allocated, which is the index of the loop iterating over the VPEs. Fixes: 7d75bbb4bc1a ("irqchip/gic-v3-its: Add VPE irq domain allocation/teardown") Signed-off-by: Kaige Fu [maz: fixed commit message] Signed-off-by: Marc Zyngier Link: https://lore.kernel.org/r/d9e36dee512e63670287ed9eff884a5d8d6d27f2.1631672311.git.kaige.fu@linux.alibaba.com Signed-off-by: Sasha Levin --- drivers/irqchip/irq-gic-v3-its.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c index 4069c215328b..95e0b82b6c66 100644 --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c @@ -4489,7 +4489,7 @@ static int its_vpe_irq_domain_alloc(struct irq_domain *domain, unsigned int virq if (err) { if (i > 0) - its_vpe_irq_domain_free(domain, virq, i - 1); + its_vpe_irq_domain_free(domain, virq, i); its_lpi_free(bitmap, base, nr_ids); its_free_prop_table(vprop_page); -- 2.33.0