Subject: CVE-2021-47165: drm/meson: fix shutdown crash when component not probed

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

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

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

drm/meson: fix shutdown crash when component not probed

When main component is not probed, by example when the dw-hdmi module is
not loaded yet or in probe defer, the following crash appears on shutdown:

Unable to handle kernel NULL pointer dereference at virtual address 0000000000000038
...
pc : meson_drv_shutdown+0x24/0x50
lr : platform_drv_shutdown+0x20/0x30
...
Call trace:
meson_drv_shutdown+0x24/0x50
platform_drv_shutdown+0x20/0x30
device_shutdown+0x158/0x360
kernel_restart_prepare+0x38/0x48
kernel_restart+0x18/0x68
__do_sys_reboot+0x224/0x250
__arm64_sys_reboot+0x24/0x30
...

Simply check if the priv struct has been allocated before using it.

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

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

	Issue introduced in 4.14.226 with commit 8a5160cc8488 and fixed in 4.14.235 with commit b4298d33c1fc
	Issue introduced in 4.19.181 with commit 8fbbf2b38494 and fixed in 4.19.193 with commit e256a0eb43e1
	Issue introduced in 5.4.106 with commit d2100ef32a8c and fixed in 5.4.124 with commit 4ce2bf20b4a6
	Issue introduced in 5.10.24 with commit d4ec1ffbdaa8 and fixed in 5.10.42 with commit d66083c0d6f5
	Issue introduced in 5.12 with commit fa0c16caf3d7 and fixed in 5.12.9 with commit b4b91033a0b1
	Issue introduced in 5.12 with commit fa0c16caf3d7 and fixed in 5.13 with commit 7cfc4ea78fc1
	Issue introduced in 5.11.7 with commit cef14d5d92f1

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-47165
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/gpu/drm/meson/meson_drv.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/b4298d33c1fcce511ffe84d8d3de07e220300f9b
	https://git.kernel.org/stable/c/e256a0eb43e17209e347409a80805b1659398d68
	https://git.kernel.org/stable/c/4ce2bf20b4a6e307e114847d60b2bf40a6a1fac0
	https://git.kernel.org/stable/c/d66083c0d6f5125a4d982aa177dd71ab4cd3d212
	https://git.kernel.org/stable/c/b4b91033a0b11fe9ade58156cd9168f89f4a8c1a
	https://git.kernel.org/stable/c/7cfc4ea78fc103ea51ecbacd9236abb5b1c490d2