CVE-2026-23052

ftrace: Do not over-allocate ftrace memory

published February 4, 2026

CVSS
—
EPSS
0%
Percentile
8.9
In the wild
Unconfirmed
What it is

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

ftrace: Do not over-allocate ftrace memory

The pg_remaining calculation in ftrace_process_locs() assumes that

ENTRIES_PER_PAGE multiplied by 2^order equals the actual capacity of the

allocated page group. However, ENTRIES_PER_PAGE is PAGE_SIZE / ENTRY_SIZE

(integer division). When PAGE_SIZE is not a multiple of ENTRY_SIZE (e.g.

4096 / 24 = 170 with remainder 16), high-order allocations (like 256 pages)

have significantly more capacity than 256 * 170. This leads to pg_remaining

being underestimated, which in turn makes skip (derived from skipped -

pg_remaining) larger than expected, causing the WARN(skip != remaining)

to trigger.

Extra allocated pages for ftrace: 2 with 654 skipped

WARNING: CPU: 0 PID: 0 at kernel/trace/ftrace.c:7295 ftrace_process_locs+0x5bf/0x5e0

A similar problem in ftrace_allocate_records() can result in allocating

too many pages. This can trigger the second warning in

ftrace_process_locs().

Extra allocated pages for ftrace

WARNING: CPU: 0 PID: 0 at kernel/trace/ftrace.c:7276 ftrace_process_locs+0x548/0x580

Use the actual capacity of a page group to determine the number of pages

to allocate. Have ftrace_allocate_pages() return the number of allocated

pages to avoid having to calculate it. Use the actual page group capacity

when validating the number of unused pages due to skipped entries.

Drop the definition of ENTRIES_PER_PAGE since it is no longer used.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00197 · 8.9th percentile
Published
2026-02-04T16:04Z
EPSS history
Timeline
  • 04 FEB 16:04Z
    ftrace: Do not over-allocate ftrace memory
    cvelistv5