CVE-2026-64165: ARM: integrator: Fix early initialization

Greg Kroah-Hartman <[email protected]>
Newsgroups org.kernel.vger.linux-cve-announce
Message-ID <2026071934-CVE-2026-64165-f0cf@gregkh>
From: Greg Kroah-Hartman <[email protected]>

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

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

ARM: integrator: Fix early initialization

Starting with commit bdb249fce9ad4 ("ARM: integrator: read counter using
syscon/regmap"), intcp_init_early calls syscon_regmap_lookup_by_compatible
which in turn calls of_syscon_register. This function allocates memory.
Since the memory management code has not been initialized at that time,
the call always fails. It either returns -ENOMEM or crashes as follows.

Unable to handle kernel NULL pointer dereference at virtual address 0000000c when read
[0000000c] *pgd=00000000
Internal error: Oops: 5 [#1] ARM
Modules linked in:
CPU: 0 UID: 0 PID: 0 Comm: swapper Not tainted 6.15.0-rc5-00026-g5fcc9bf84ee5 #1 PREEMPT
Hardware name: ARM Integrator/CP (Device Tree)
PC is at __kmalloc_cache_noprof+0xec/0x39c
LR is at __kmalloc_cache_noprof+0x34/0x39c
...
Call trace:
 __kmalloc_cache_noprof from of_syscon_register+0x7c/0x310
 of_syscon_register from device_node_get_regmap+0xa4/0xb0
 device_node_get_regmap from intcp_init_early+0xc/0x40
 intcp_init_early from start_kernel+0x60/0x688
 start_kernel from 0x0

The crash is seen due to a dereferenced pointer which is not supposed to be
NULL but is NULL if the memory management subsystem has not been
initialized. The crash is not seen with all versions of gcc. Some versions
such as gcc 9.x apparently do not dereference the pointer, presumably if
tracing is disabled. The problem has been reproduced with gcc 10.x, 11.x,
and 13.x. Either case, if the crash is not seen, the call to
syscon_regmap_lookup_by_compatible returns -ENOMEM, and
sched_clock_register is never called.

Fix the problem by moving the early initialization code into the standard
machine initialization code.

The Linux kernel CVE team has assigned CVE-2026-64165 to this issue.


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

	Issue introduced in 4.9 with commit bdb249fce9ad44aab340be3b7a77060114f7193b and fixed in 5.10.258 with commit 22c738fb51f2d8b23ddff5cc0ccb2dd685bb39d3
	Issue introduced in 4.9 with commit bdb249fce9ad44aab340be3b7a77060114f7193b and fixed in 5.15.209 with commit 812103fb6da904bd03d62cf6a9826e537318ceed
	Issue introduced in 4.9 with commit bdb249fce9ad44aab340be3b7a77060114f7193b and fixed in 6.1.175 with commit 6624854554c4c2bdfed3559e5c11bb03b16e7bd1
	Issue introduced in 4.9 with commit bdb249fce9ad44aab340be3b7a77060114f7193b and fixed in 6.6.142 with commit 508b1193d63b5e073a3fe103eeb785fcba2d368c
	Issue introduced in 4.9 with commit bdb249fce9ad44aab340be3b7a77060114f7193b and fixed in 6.12.92 with commit 58a112b0973f6cd6bcb8c503d1ff88be411ed0f0
	Issue introduced in 4.9 with commit bdb249fce9ad44aab340be3b7a77060114f7193b and fixed in 6.18.34 with commit e984dc22e2c24dc34d6728e338c82b1ce7862753
	Issue introduced in 4.9 with commit bdb249fce9ad44aab340be3b7a77060114f7193b and fixed in 7.0.11 with commit 33ad014abec90f37dade0e00560f28864187e21a
	Issue introduced in 4.9 with commit bdb249fce9ad44aab340be3b7a77060114f7193b and fixed in 7.1 with commit 90d77b30a666049ad24df463f52e5d529c44e8cd

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-2026-64165
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:
	arch/arm/mach-versatile/integrator_cp.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/22c738fb51f2d8b23ddff5cc0ccb2dd685bb39d3
	https://git.kernel.org/stable/c/812103fb6da904bd03d62cf6a9826e537318ceed
	https://git.kernel.org/stable/c/6624854554c4c2bdfed3559e5c11bb03b16e7bd1
	https://git.kernel.org/stable/c/508b1193d63b5e073a3fe103eeb785fcba2d368c
	https://git.kernel.org/stable/c/58a112b0973f6cd6bcb8c503d1ff88be411ed0f0
	https://git.kernel.org/stable/c/e984dc22e2c24dc34d6728e338c82b1ce7862753
	https://git.kernel.org/stable/c/33ad014abec90f37dade0e00560f28864187e21a
	https://git.kernel.org/stable/c/90d77b30a666049ad24df463f52e5d529c44e8cd
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.