CVE-2025-40233

ocfs2: clear extent cache after moving/defragmenting extents

HIGH
7.8
CVSS Score
Published: December 4, 2025 at 03:31 PM UTC
Updated: October 19, 2026 at 09:10 PM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.8
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: ocfs2: clear extent cache after moving/defragmenting extents The extent map cache can become stale when extents are moved or defragmented, causing subsequent operations to see outdated extent flags. This triggers a BUG_ON in ocfs2_refcount_cal_cow_clusters(). The problem occurs when: 1. copy_file_range() creates a reflinked extent with OCFS2_EXT_REFCOUNTED 2. ioctl(FITRIM) triggers ocfs2_move_extents() 3. __ocfs2_move_extents_range() reads and caches the extent (flags=0x2) 4. ocfs2_move_extent()/ocfs2_defrag_extent() calls __ocfs2_move_extent() which clears OCFS2_EXT_REFCOUNTED flag on disk (flags=0x0) 5. The extent map cache is not invalidated after the move 6. Later write() operations read stale cached flags (0x2) but disk has updated flags (0x0), causing a mismatch 7. BUG_ON(!(rec->e_flags & OCFS2_EXT_REFCOUNTED)) triggers Fix by clearing the extent map cache after each extent move/defrag operation in __ocfs2_move_extents_range(). This ensures subsequent operations read fresh extent data from disk.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

3.053069d4e76954e2e63c1b3c501051c6fbcf7298c
Vendor states this is fixed in 78a63493f8e352296dbc7cb7b3f4973105e8679e (fixed)
Vendor states this is fixed in 93166bc53c0e3587058327a4121daea34b4fecd5 (fixed)
Vendor states this is fixed in 93b1ab422f1966b71561158e1aedce4ec100f357 (fixed)
Vendor states this is fixed in a21750df2f6169af6e039a3bb4893d6c9564e48d (fixed)
Vendor states this is fixed in a7ee72286efba1d407c6f15a0528e43593fb7007 (fixed)
Vendor states this is fixed in aa6a21409dd6221bb268b56bb410e031c632ff9a (fixed)
Vendor states this is fixed in bb69928ed578f881e68d26aaf1a8f6e7faab3b44 (fixed)
Vendor states this is fixed in e92af7737a94a729225d2a5d180eaaa77fe0bbc1 (fixed)
Vendor states this is fixed in 3.0 (unaffected)
Vendor states this is fixed in 5.10.246 (unaffected)
Vendor states this is fixed in 5.15.196 (unaffected)
Vendor states this is fixed in 5.4.301 (unaffected)
Vendor states this is fixed in 6.1.158 (unaffected)
Vendor states this is fixed in 6.12.56 (unaffected)
Vendor states this is fixed in 6.17.6 (unaffected)
Vendor states this is fixed in 6.18 (unaffected)
Vendor states this is fixed in 6.6.115 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

CVSS

7.8HIGHLinux
Vector?

Quick Info

StatusDEFERRED

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card