Subject: CVE-2021-47054: bus: qcom: Put child node before return

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

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

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

bus: qcom: Put child node before return

Put child node before return to fix potential reference count leak.
Generally, the reference count of child is incremented and decremented
automatically in the macro for_each_available_child_of_node() and should
be decremented manually if the loop is broken in loop body.

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

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

	Issue introduced in 4.9 with commit 335a12754808 and fixed in 4.9.269 with commit a6191e91c10e
	Issue introduced in 4.9 with commit 335a12754808 and fixed in 4.14.233 with commit 94810fc52925
	Issue introduced in 4.9 with commit 335a12754808 and fixed in 4.19.191 with commit a399dd80e697
	Issue introduced in 4.9 with commit 335a12754808 and fixed in 5.4.119 with commit 3a76ec28824c
	Issue introduced in 4.9 with commit 335a12754808 and fixed in 5.10.37 with commit 00f6abd3509b
	Issue introduced in 4.9 with commit 335a12754808 and fixed in 5.11.21 with commit 6b68c03dfc79
	Issue introduced in 4.9 with commit 335a12754808 and fixed in 5.12.4 with commit c6f8e0dc8da1
	Issue introduced in 4.9 with commit 335a12754808 and fixed in 5.13 with commit ac6ad7c2a862

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-47054
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/bus/qcom-ebi2.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/a6191e91c10e50bd51db65a00e03d02b6b0cf8c4
	https://git.kernel.org/stable/c/94810fc52925eb122a922df7f9966cf3f4ba7391
	https://git.kernel.org/stable/c/a399dd80e697a02cfb23e2fc09b87849994043d9
	https://git.kernel.org/stable/c/3a76ec28824c01b57aa1f0927841d75e4f167cb8
	https://git.kernel.org/stable/c/00f6abd3509b1d70d0ab0fbe65ce5685cebed8be
	https://git.kernel.org/stable/c/6b68c03dfc79cd95a58dfd03f91f6e82829a1b0c
	https://git.kernel.org/stable/c/c6f8e0dc8da1cd78d640dee392071cc2326ec1b2
	https://git.kernel.org/stable/c/ac6ad7c2a862d682bb584a4bc904d89fa7721af8