Subject: CVE-2023-52469: drivers/amd/pm: fix a use-after-free in kv_parse_power_table

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

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

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

drivers/amd/pm: fix a use-after-free in kv_parse_power_table

When ps allocated by kzalloc equals to NULL, kv_parse_power_table
frees adev->pm.dpm.ps that allocated before. However, after the control
flow goes through the following call chains:

kv_parse_power_table
  |-> kv_dpm_init
        |-> kv_dpm_sw_init
	      |-> kv_dpm_fini

The adev->pm.dpm.ps is used in the for loop of kv_dpm_fini after its
first free in kv_parse_power_table and causes a use-after-free bug.

The Linux kernel CVE team has assigned CVE-2023-52469 to this issue.

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

	Issue introduced in 4.2 with commit a2e73f56fa62 and fixed in 4.19.306 with commit 8a27d9d9fc9b
	Issue introduced in 4.2 with commit a2e73f56fa62 and fixed in 5.4.268 with commit 8b55b06e737f
	Issue introduced in 4.2 with commit a2e73f56fa62 and fixed in 5.10.209 with commit 520e213a0b97
	Issue introduced in 4.2 with commit a2e73f56fa62 and fixed in 5.15.148 with commit b6dcba02ee17
	Issue introduced in 4.2 with commit a2e73f56fa62 and fixed in 6.1.75 with commit 35fa2394d26e
	Issue introduced in 4.2 with commit a2e73f56fa62 and fixed in 6.6.14 with commit 95084632a65d
	Issue introduced in 4.2 with commit a2e73f56fa62 and fixed in 6.7.2 with commit 3426f059eacc
	Issue introduced in 4.2 with commit a2e73f56fa62 and fixed in 6.8 with commit 28dd788382c4

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-2023-52469
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/amd/pm/legacy-dpm/kv_dpm.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/8a27d9d9fc9b5564b8904c3a77a7dea482bfa34e
	https://git.kernel.org/stable/c/8b55b06e737feb2a645b0293ea27e38418876d63
	https://git.kernel.org/stable/c/520e213a0b97b64735a13950e9371e0a5d7a5dc3
	https://git.kernel.org/stable/c/b6dcba02ee178282e0d28684d241e0b8462dea6a
	https://git.kernel.org/stable/c/35fa2394d26e919f63600ce631e6aefc95ec2706
	https://git.kernel.org/stable/c/95084632a65d5c0d682a83b55935560bdcd2a1e3
	https://git.kernel.org/stable/c/3426f059eacc33ecc676b0d66539297e1cfafd02
	https://git.kernel.org/stable/c/28dd788382c43b330480f57cd34cde0840896743