Subject: CVE-2024-27037: clk: zynq: Prevent null pointer dereference caused by kmalloc failure

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

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

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

clk: zynq: Prevent null pointer dereference caused by kmalloc failure

The kmalloc() in zynq_clk_setup() will return null if the
physical memory has run out. As a result, if we use snprintf()
to write data to the null address, the null pointer dereference
bug will happen.

This patch uses a stack variable to replace the kmalloc().

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

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

	Issue introduced in 3.11 with commit 0ee52b157b8e and fixed in 5.15.153 with commit 01511ac7be8e
	Issue introduced in 3.11 with commit 0ee52b157b8e and fixed in 6.1.83 with commit 8c4889a9ea86
	Issue introduced in 3.11 with commit 0ee52b157b8e and fixed in 6.6.23 with commit 0801c893fd48
	Issue introduced in 3.11 with commit 0ee52b157b8e and fixed in 6.7.11 with commit ca976c6a592f
	Issue introduced in 3.11 with commit 0ee52b157b8e and fixed in 6.8.2 with commit 58a946ab4350
	Issue introduced in 3.11 with commit 0ee52b157b8e and fixed in 6.9 with commit 7938e9ce39d6

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-27037
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/clk/zynq/clkc.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/01511ac7be8e45f80e637f6bf61af2d3d2dee9db
	https://git.kernel.org/stable/c/8c4889a9ea861d7be37463c10846eb75e1b49c9d
	https://git.kernel.org/stable/c/0801c893fd48cdba66a3c8f44c3fe43cc67d3b85
	https://git.kernel.org/stable/c/ca976c6a592f789700200069ef9052493c0b73d8
	https://git.kernel.org/stable/c/58a946ab43501f2eba058d24d96af0ad1122475b
	https://git.kernel.org/stable/c/7938e9ce39d6779d2f85d822cc930f73420e54a6