Subject: CVE-2021-47273: usb: dwc3-meson-g12a: fix usb2 PHY glue init when phy0 is disabled

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

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

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

usb: dwc3-meson-g12a: fix usb2 PHY glue init when phy0 is disabled

When only PHY1 is used (for example on Odroid-HC4), the regmap init code
uses the usb2 ports when doesn't initialize the PHY1 regmap entry.

This fixes:
Unable to handle kernel NULL pointer dereference at virtual address 0000000000000020
...
pc : regmap_update_bits_base+0x40/0xa0
lr : dwc3_meson_g12a_usb2_init_phy+0x4c/0xf8
...
Call trace:
regmap_update_bits_base+0x40/0xa0
dwc3_meson_g12a_usb2_init_phy+0x4c/0xf8
dwc3_meson_g12a_usb2_init+0x7c/0xc8
dwc3_meson_g12a_usb_init+0x28/0x48
dwc3_meson_g12a_probe+0x298/0x540
platform_probe+0x70/0xe0
really_probe+0xf0/0x4d8
driver_probe_device+0xfc/0x168
...

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

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

	Issue introduced in 5.8 with commit 013af227f58a and fixed in 5.10.44 with commit 750a0d755642
	Issue introduced in 5.8 with commit 013af227f58a and fixed in 5.12.11 with commit d8dd3754e707
	Issue introduced in 5.8 with commit 013af227f58a and fixed in 5.13 with commit 4d2aa178d2ad

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-47273
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/usb/dwc3/dwc3-meson-g12a.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/750a0d75564293be3ed50f13ef7f38ab75106421
	https://git.kernel.org/stable/c/d8dd3754e707104a34f8ec595034d503ea8871a2
	https://git.kernel.org/stable/c/4d2aa178d2ad2fb156711113790dde13e9aa2376