CVE intelligence and bounded remediation

CVE-2024-38306 — Linux Linux Kernel security vulnerability

Medium CVSS 4.7

In the Linux kernel, the following vulnerability has been resolved: btrfs: protect folio::private when attaching extent buffer folios [BUG] Since v6.8 there are rare kernel crashes reported by various people, the common factor is bad page status error messages like this: BUG: Bad page state in process kswapd0 pfn:d6e840 page: refcount:0 mapcount:0 mapping:000000007512f4f2 index:0x2796c2c7c pfn:0xd6e840 aops:btree_aops ino:1 flags: 0x17ffffe0000008(uptodate|node=0|zone=2|lastcpupid=0x3fffff) page_type: 0xffffffff() raw: 0017ffffe0000008 dead000000000100 dead000000000122 ffff88826d0be4c0 raw: 00000002796c2c7c 0000000000000000 00000000ffffffff 0000000000000000 page dumped because: non-NULL mapping [CAUSE] Commit 09e6cef19c9f ("btrfs: refactor alloc_extent_buffer() to allocate-then-attach method") changes the sequence when allocating a new extent buffer. Previously we always called grab_extent_buffer() under mapping->i_private_lock, to ensure the safety on modification on folio::private (which is a pointer to extent buffer for regular sectorsize). This can lead to the following race: Thread A is trying to allocate an extent buffer at bytenr X, with 4 4K pages, meanwhile thread B is tr…

Severity
Medium
CVSS
4.7 (3.1)
Published
2024-06-25
CISA KEV
Not currently listed
Ecosystem
linux/kernel
Weaknesses
CWE-362, CWE-617

Affected products

  • linux / linux_kernel
  • linux / linux_kernel / 6.10

Showing 2 representative product identities from 3 source matches. Confirm exact affected versions with the linked vendor and NVD evidence.

Matched remediation archetype

Race condition, TOCTOU, and lifecycle synchronization

This catalog composition supplies bounded fallback guidance. Explicitly reviewed curated workflows load with the complete record below.

Check exposure

  • Map concurrent actors, shared state, lock boundaries, signals, callbacks, retries, and check-then-use sequences in the affected path.
  • Determine whether untrusted users can influence timing, object names, filesystem state, or repeated state transitions.
  • Identify clustered and multi-process behavior that repository-local tests may not represent.

Remediate safely

  • Make the sensitive state transition atomic or protect it with a consistently ordered synchronization primitive.
  • Perform authorization and invariant checks on the same authoritative object and transaction used for the operation.
  • Use unique private resources, safe ownership transfer, and idempotent operations; add deterministic concurrency regression tests.

Authoritative sources

Complete CVE record and remediation plan

The detailed catalog view below loads this exact record, its source evidence, and the full seven-phase agentic change plan.