Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp4137272pxb; Mon, 27 Sep 2021 10:08:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzAUNPoN00BPmGjQj8p6X76USr1/SnAT7u4/KcSRpYD/4X5rxeO9lmGpjqYZzOWQIcznjVX X-Received: by 2002:a63:904c:: with SMTP id a73mr653504pge.166.1632762515316; Mon, 27 Sep 2021 10:08:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632762515; cv=none; d=google.com; s=arc-20160816; b=r+Ga/9I1HVz08KgnY/wLnZpOPE8s6/ZDRRhp99b4So2GM8SjNobmEnsjeRAGRkMaZJ 0CozxVXTJJoScovXfMjZo3hMsIpI2+WFDSCuTlwKEelsUCtuyVtP5+CgvOe79XPUR7Lb 928vye0j5u/XzLuJf8ddluKwpZZagQkNIrG9fsRBWWOl0eXMMx6rpnI0j0ZTync7GByW /3VKXqWx1vs8zF11AstMrgFab40uO0xRMzzZp8ED/+tOiEZq3xvJeYRutRPAV045RoTc Tueof/aJUry2VpiywRpkNAdCtxBhbR2PuAc+BsD6P2fgejH1CCZ3zyHmAyrs594j28Qr HmSA== 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=szUJ1R9G0ejWcrXRtOvN3Y2WbanlDo9EI08YUjm9+ZA=; b=hPcp4QNXLEGlSf/0EwcH+hvk0+W9APVg7d25hvHPBRvvr1l/mCCJESYQsvaL+WcGqt yDbSvB3oCOdoPfZb6CAaDVVZiT66gaXw+TysVEXZ3vJwYoQBeMZpbRz0v6zBFrgGBFYc BaKp7bnWpP44Xqa2uaeu4pIAwj71K1zpBdtSLb5jLrtXk4ELhpMFLYLnuGy/VnxfWYuO maE6k3lQ5v+kwT7EytTsBVLed9DKHDtLymlAhQRW7DRkO2z4gd5HA4tArALtmpP000pQ 1PWazrewmEY7Bs/PG3BK283zvjUa7nEKw+jAKeVVXBWSSDxfkFRQL2H3MMx/n2+vNaKB KD9w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=IocqZZj2; 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 x6si113787pjl.51.2021.09.27.10.08.21; Mon, 27 Sep 2021 10:08:35 -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=IocqZZj2; 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 S236221AbhI0RHf (ORCPT + 99 others); Mon, 27 Sep 2021 13:07:35 -0400 Received: from mail.kernel.org ([198.145.29.99]:44560 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236074AbhI0RGu (ORCPT ); Mon, 27 Sep 2021 13:06:50 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id B294B610E8; Mon, 27 Sep 2021 17:05:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1632762312; bh=veDoUQcLRO6S114flHxKmK2Rn5Hg0mxThlQGwetRZHU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IocqZZj2MknWMSJFSllrNJ+yUPSQXVIMsT4j6Nq4I5W1DwyIwfVhxcg5CrZKP2LRX pZ0YcxGU0j69jsoJ5WD7tWrlrgJXiAoXGFerxwiW9hf89/PxZmPyjhQBTAk6N/4sBs PUFUisnR/6cJGC1PZbcUwepIizC4OxeNkZsPLPmY= 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.4 43/68] irqchip/gic-v3-its: Fix potential VPE leak on error Date: Mon, 27 Sep 2021 19:02:39 +0200 Message-Id: <20210927170221.450447624@linuxfoundation.org> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210927170219.901812470@linuxfoundation.org> References: <20210927170219.901812470@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 f298313b87ac..398c54387988 100644 --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c @@ -3123,7 +3123,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