Subject: CVE-2021-47093: platform/x86: intel_pmc_core: fix memleak on registration failure

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

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

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

platform/x86: intel_pmc_core: fix memleak on registration failure

In case device registration fails during module initialisation, the
platform device structure needs to be freed using platform_device_put()
to properly free all resources (e.g. the device name).

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

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

	Issue introduced in 5.9 with commit 938835aa903a and fixed in 5.10.89 with commit 7a37f2e37069
	Issue introduced in 5.9 with commit 938835aa903a and fixed in 5.15.12 with commit 9ca1324755f1
	Issue introduced in 5.9 with commit 938835aa903a and fixed in 5.16 with commit 26a8b0943780

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-47093
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/platform/x86/intel/pmc/pltdrv.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/7a37f2e370699e2feca3dca6c8178c71ceee7e8a
	https://git.kernel.org/stable/c/9ca1324755f1f8629a370af5cc315b175331f5d1
	https://git.kernel.org/stable/c/26a8b09437804fabfb1db080d676b96c0de68e7c