CVE-2024-53131

nilfs2: fix null-ptr-deref in block_touch_buffer tracepoint

State
Published
Severity
Not scored
Published
Dec 4, 2024
Updated
May 11, 2026
Reserved
Nov 19, 2024

Read the record on cve.org

Description

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

nilfs2: fix null-ptr-deref in block_touch_buffer tracepoint

Patch series "nilfs2: fix null-ptr-deref bugs on block tracepoints".

This series fixes null pointer dereference bugs that occur when using nilfs2 and two block-related tracepoints.

This patch (of 2):

It has been reported that when using "block:block_touch_buffer" tracepoint, touch_buffer() called from __nilfs_get_folio_block() causes a NULL pointer dereference, or a general protection fault when KASAN is enabled.

This happens because since the tracepoint was added in touch_buffer(), it references the dev_t member bh->b_bdev->bd_dev regardless of whether the buffer head has a pointer to a block_device structure. In the current implementation, the block_device structure is set after the function returns to the caller.

Here, touch_buffer() is used to mark the folio/page that owns the buffer head as accessed, but the common search helper for folio/page used by the caller function was optimized to mark the folio/page as accessed when it was reimplemented a long time ago, eliminating the need to call touch_buffer() here in the first place.

So this solves the issue by eliminating the touch_buffer() call itself.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 5305cb830834549b9203ad4d009ad5483c5e293f to before 085556bf8c70e2629e02e79268dac3016a08b8bfAffected
  • 5305cb830834549b9203ad4d009ad5483c5e293f to before 6438f3f42cda825f6f59b4e45ac3a1da28a6f2c9Affected
  • 5305cb830834549b9203ad4d009ad5483c5e293f to before b017697a517f8779ada4e8ce1c2c75dbf60a2636Affected
  • 5305cb830834549b9203ad4d009ad5483c5e293f to before 19c71cdd77973f99a9adc3190130bc3aa7ae5423Affected
  • 5305cb830834549b9203ad4d009ad5483c5e293f to before 3b2a4fd9bbee77afdd3ed5a05a0c02b6cde8d3b9Affected
  • 5305cb830834549b9203ad4d009ad5483c5e293f to before 59b49ca67cca7b007a5afd3de0283c8008157665Affected
  • 5305cb830834549b9203ad4d009ad5483c5e293f to before 77e47f89d32c2d72eb33d0becbce7abe14d061f4Affected
  • 5305cb830834549b9203ad4d009ad5483c5e293f to before cd45e963e44b0f10d90b9e6c0e8b4f47f3c92471Affected
LinuxLinux
  • 3.9Affected
  • before 3.9Not affected
  • 4.19.325 through 4.19.*Not affected
  • 5.4.287 through 5.4.*Not affected
  • 5.10.231 through 5.10.*Not affected
  • 5.15.174 through 5.15.*Not affected
  • 6.1.119 through 6.1.*Not affected
  • 6.6.63 through 6.6.*Not affected
  • 6.11.10 through 6.11.*Not affected
  • 6.12 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.