Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp4154597pxb; Mon, 27 Sep 2021 10:30:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwBiO2gMm8l8zmXzsI+uVKcPv8SsDgieqIQ3gy72JEbpMLuQp6PBZYy+uuTw5BLFP13UO7p X-Received: by 2002:a17:90a:a584:: with SMTP id b4mr303671pjq.70.1632763804097; Mon, 27 Sep 2021 10:30:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632763804; cv=none; d=google.com; s=arc-20160816; b=v475+i2RzVX2PSChSjMFmoyAljSExvAyplbRpacemPFqAz37WXpkkrnwRCN19mmRrX m3/zlG/zs3HAdz923BverhPj2V+BW4Twroz3Aaqh9G+y3b/wYapV3OWxcwK6N1Mvdr5H TkPtvKHOj0fhnzmSkydUE1rP9rQ5YHan/jp807MgQGH3G+73pzF245EZkLldqyMiQtCk 8JqufnQbFssWZNUhzuw1J+ATBKNZaMCDM4tlVczQ6N63vWVVdukVXdgfLylCxWTDVe3h I1/Impx7lprLeZGz4W7foWsqU5XwCDOi5PUjbX7JzioOzygbCaRYlbDH1jUmRNIhS7jJ xFmQ== 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=rmoZLDNTnzdAKgWjBmQzFCbzhYNPmdggiI/ZHdBKURs=; b=HrhUbLxpPemlk+b6K29zUHyipGhXwRnx19Secd2gZknf3T3KBYHowY82eo/5Wq+VqP ROdRzkA75px6KbCWT3S6dbkVOK11ADWm12ieIpBQ2aKbK9XFvq8a6F/rsRRpxy4iVu9B fbVAFHSEE4JQ68Hk4K/sb5iBIyORzMDRetx9W9ec/9ZPwMqk9R+Nrr5UAcza/k5H49Wy aHOcpcknGVefR+wXqY+9rVjUliAFJCb8ags7ntwPp7sZHowGN9wA7o0RnIcXyqrnzRbx lRA348hcCUtHt2z/UdhEWG0VDtSd/Jw83fzcD3dKgH7kuSx7ZQR8DnGCJu2jEKCmBLQE 8R9A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=P+PZOW5m; 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 t16si100964pjt.37.2021.09.27.10.29.50; Mon, 27 Sep 2021 10:30:04 -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=P+PZOW5m; 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 S238008AbhI0R22 (ORCPT + 99 others); Mon, 27 Sep 2021 13:28:28 -0400 Received: from mail.kernel.org ([198.145.29.99]:36996 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238065AbhI0RYP (ORCPT ); Mon, 27 Sep 2021 13:24:15 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id E829C613DA; Mon, 27 Sep 2021 17:15:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1632762944; bh=Qx0MPFDFhqyxQqXlrN3OtQBI4PSt8rNHrm1et6sC+34=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=P+PZOW5mMQUbKjghI291l3TOeDIjlhFHENz+EeOLFN79y1r4duEO0dm5dWBZc4821 6UDqHlaOYZG6oTp/ueVLXRMfdH64No6qkmMXP3taYHzuNTVmwLLkQAougjk9dpqemE YuWIjObXAmKNaXDCrTC8aL0ICcWzboTsq+7iB94Q= 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.14 109/162] irqchip/gic-v3-its: Fix potential VPE leak on error Date: Mon, 27 Sep 2021 19:02:35 +0200 Message-Id: <20210927170237.228153850@linuxfoundation.org> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210927170233.453060397@linuxfoundation.org> References: <20210927170233.453060397@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 ba39668c3e08..51584f4cccf4 100644 --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c @@ -4501,7 +4501,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