CVE-2026-23002

lib/buildid: use __kernel_read() for sleepable context

published January 25, 2026

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

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

lib/buildid: use __kernel_read() for sleepable context

Prevent a "BUG: unable to handle kernel NULL pointer dereference in

filemap_read_folio".

For the sleepable context, convert freader to use __kernel_read() instead

of direct page cache access via read_cache_folio(). This simplifies the

faultable code path by using the standard kernel file reading interface

which handles all the complexity of reading file data.

At the moment we are not changing the code for non-sleepable context which

uses filemap_get_folio() and only succeeds if the target folios are

already in memory and up-to-date. The reason is to keep the patch simple

and easier to backport to stable kernels.

Syzbot repro does not crash the kernel anymore and the selftests run

successfully.

In the follow up we will make __kernel_read() with IOCB_NOWAIT work for

non-sleepable contexts. In addition, I would like to replace the

secretmem check with a more generic approach and will add fstest for the

buildid code.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00176 · 6.8th percentile
Published
2026-01-25T14:36Z
EPSS history
Timeline
  • 25 JAN 14:36Z
    lib/buildid: use __kernel_read() for sleepable context
    cvelistv5