Subject: CVE-2021-47373: irqchip/gic-v3-its: Fix potential VPE leak on error

From: Greg Kroah-Hartman <[email-masked]>

Description
===========

In the Linux kernel, the following vulnerability has been resolved:

irqchip/gic-v3-its: Fix potential VPE leak on error

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.

[maz: fixed commit message]

The Linux kernel CVE team has assigned CVE-2021-47373 to this issue.

Affected and fixed versions
===========================

	Issue introduced in 4.14 with commit 7d75bbb4bc1a and fixed in 4.14.249 with commit 7d39992d45ac
	Issue introduced in 4.14 with commit 7d75bbb4bc1a and fixed in 4.19.209 with commit 5701e8bff314
	Issue introduced in 4.14 with commit 7d75bbb4bc1a and fixed in 5.4.150 with commit 42d3711c2378
	Issue introduced in 4.14 with commit 7d75bbb4bc1a and fixed in 5.10.70 with commit 568662e37f92
	Issue introduced in 4.14 with commit 7d75bbb4bc1a and fixed in 5.14.9 with commit e0c1c2e5da19
	Issue introduced in 4.14 with commit 7d75bbb4bc1a and fixed in 5.15 with commit 280bef512933

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2021-47373
will be updated if fixes are backported, please check that for the most
up to date information about this issue.

Affected files
==============

The file(s) affected by this issue are:
	drivers/irqchip/irq-gic-v3-its.c

Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/7d39992d45acd6f2d6b2f62389c55b61fb3d486b
	https://git.kernel.org/stable/c/5701e8bff314c155e7afdc467b1e0389d86853d0
	https://git.kernel.org/stable/c/42d3711c23781045e7a5cd28536c774b9a66d20b
	https://git.kernel.org/stable/c/568662e37f927e3dc3e475f3ff7cf4ab7719c5e7
	https://git.kernel.org/stable/c/e0c1c2e5da19685a20557a50f10c6aa4fa26aa84
	https://git.kernel.org/stable/c/280bef512933b2dda01d681d8cbe499b98fc5bdd