CVE-2026-64165

ARM: integrator: Fix early initialization

State
Published
Severity
Not scored
Published
Jul 19, 2026
Updated
Jul 19, 2026
Reserved
Jul 19, 2026

Read the record on cve.org

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.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • bdb249fce9ad44aab340be3b7a77060114f7193b to before 22c738fb51f2d8b23ddff5cc0ccb2dd685bb39d3Affected
  • bdb249fce9ad44aab340be3b7a77060114f7193b to before 812103fb6da904bd03d62cf6a9826e537318ceedAffected
  • bdb249fce9ad44aab340be3b7a77060114f7193b to before 6624854554c4c2bdfed3559e5c11bb03b16e7bd1Affected
  • bdb249fce9ad44aab340be3b7a77060114f7193b to before 508b1193d63b5e073a3fe103eeb785fcba2d368cAffected
  • bdb249fce9ad44aab340be3b7a77060114f7193b to before 58a112b0973f6cd6bcb8c503d1ff88be411ed0f0Affected
  • bdb249fce9ad44aab340be3b7a77060114f7193b to before e984dc22e2c24dc34d6728e338c82b1ce7862753Affected
  • bdb249fce9ad44aab340be3b7a77060114f7193b to before 33ad014abec90f37dade0e00560f28864187e21aAffected
  • bdb249fce9ad44aab340be3b7a77060114f7193b to before 90d77b30a666049ad24df463f52e5d529c44e8cdAffected
LinuxLinux
  • 4.9Affected
  • before 4.9Not affected
  • 5.10.258 through 5.10.*Not affected
  • 5.15.209 through 5.15.*Not affected
  • 6.1.175 through 6.1.*Not affected
  • 6.6.142 through 6.6.*Not affected
  • 6.12.92 through 6.12.*Not affected
  • 6.18.34 through 6.18.*Not affected
  • 7.0.11 through 7.0.*Not affected
  • 7.1 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.