Subject: CVE-2024-38615: cpufreq: exit() callback is optional

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

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

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

cpufreq: exit() callback is optional

The exit() callback is optional and shouldn't be called without checking
a valid pointer first.

Also, we must clear freq_table pointer even if the exit() callback isn't
present.

The Linux kernel CVE team has assigned CVE-2024-38615 to this issue.

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

	Issue introduced in 5.1 with commit 91a12e91dc39 and fixed in 5.4.278 with commit 2d730b465e37
	Issue introduced in 5.1 with commit 91a12e91dc39 and fixed in 5.10.219 with commit dfc56ff5ec99
	Issue introduced in 5.1 with commit 91a12e91dc39 and fixed in 5.15.161 with commit 35db5e76d5e9
	Issue introduced in 5.1 with commit 91a12e91dc39 and fixed in 6.1.93 with commit 8bc9546805e5
	Issue introduced in 5.1 with commit 91a12e91dc39 and fixed in 6.6.33 with commit 3e99f060cfd2
	Issue introduced in 5.1 with commit 91a12e91dc39 and fixed in 6.8.12 with commit ae37ebca3250
	Issue introduced in 5.1 with commit 91a12e91dc39 and fixed in 6.9.3 with commit a8204d1b6ff7
	Issue introduced in 5.1 with commit 91a12e91dc39 and fixed in 6.10 with commit b8f85833c057

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-2024-38615
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/cpufreq/cpufreq.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/2d730b465e377396d2a09a53524b96b111f7ccb6
	https://git.kernel.org/stable/c/dfc56ff5ec9904c008e9376d90a6d7e2d2bec4d3
	https://git.kernel.org/stable/c/35db5e76d5e9f752476df5fa0b9018a2398b0378
	https://git.kernel.org/stable/c/8bc9546805e572ad101681437a49939f28777273
	https://git.kernel.org/stable/c/3e99f060cfd2e36504d62c9132b453ade5027e1c
	https://git.kernel.org/stable/c/ae37ebca325097d773d7bb6ec069123b30772872
	https://git.kernel.org/stable/c/a8204d1b6ff762d2171d365c2c8560285d0a233d
	https://git.kernel.org/stable/c/b8f85833c05730d631576008daaa34096bc7f3ce