CVE-2024-37078

nilfs2: fix potential kernel bug due to lack of writeback flag waiting

HIGH
7.1
CVSS Score
Published: June 25, 2024 at 02:22 PM UTC
Updated: August 5, 2026 at 12:04 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.1
Exploit prediction
EPSS 0.3%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: nilfs2: fix potential kernel bug due to lack of writeback flag waiting Destructive writes to a block device on which nilfs2 is mounted can cause a kernel bug in the folio/page writeback start routine or writeback end routine (__folio_start_writeback in the log below): kernel BUG at mm/page-writeback.c:3070! Oops: invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI ... RIP: 0010:__folio_start_writeback+0xbaa/0x10e0 Code: 25 ff 0f 00 00 0f 84 18 01 00 00 e8 40 ca c6 ff e9 17 f6 ff ff e8 36 ca c6 ff 4c 89 f7 48 c7 c6 80 c0 12 84 e8 e7 b3 0f 00 90 <0f> 0b e8 1f ca c6 ff 4c 89 f7 48 c7 c6 a0 c6 12 84 e8 d0 b3 0f 00 ... Call Trace: <TASK> nilfs_segctor_do_construct+0x4654/0x69d0 [nilfs2] nilfs_segctor_construct+0x181/0x6b0 [nilfs2] nilfs_segctor_thread+0x548/0x11c0 [nilfs2] kthread+0x2f0/0x390 ret_from_fork+0x4b/0x80 ret_from_fork_asm+0x1a/0x30 </TASK> This is because when the log writer starts a writeback for segment summary blocks or a super root block that use the backing device's page cache, it does not wait for the ongoing folio/page writeback, resulting in an inconsistent writeback state. Fix this issue by waiting for ongoing writebacks when putting folios/pages on the backing device into writeback state.

Affected

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

2.6.30 ≤ v < 4.19.3172.6.30 ≤ v < 5.10.2212.6.30 ≤ v < 5.15.1622.6.30 ≤ v < 5.4.2792.6.30 ≤ v < 6.1.952.6.30 ≤ v < 6.102.6.30 ≤ v < 6.6.352.6.30 ≤ v < 6.9.54.20 ≤ v < 5.4.2795.11 ≤ v < 5.15.1625.16 ≤ v < 6.1.955.5 ≤ v < 5.10.2216.2 ≤ v < 6.6.356.7 ≤ v < 6.9.56.10 rc16.10 rc29ff05123e3bfbb1d2b68ba1d9bf1f7d1dffc1453
Vendor states this is fixed in 0ecfe3a92869a59668d27228dabbd7965e83567f (fixed)
Vendor states this is fixed in 1f3bff69f1214fe03a02bc650d5bbfaa6e65ae7d (fixed)
Vendor states this is fixed in 271dcd977ccda8c7a26e360425ae7b4db7d2ecc0 (fixed)
Vendor states this is fixed in 33900d7eae616647e179eee1c66ebe654ee39627 (fixed)
Vendor states this is fixed in 614d397be0cf43412b3f94a0f6460eddced8ce92 (fixed)
Vendor states this is fixed in 95f6f81e50d858a7c9aa7c795ec14a0ac3819118 (fixed)
Vendor states this is fixed in a4ca369ca221bb7e06c725792ac107f0e48e82e7 (fixed)
Vendor states this is fixed in a75b8f493dfc48aa38c518430bd9e03b53bffebe (fixed)
Vendor states this is fixed in 2.6.30 (unaffected)
Vendor states this is fixed in 4.19.317 (unaffected)
Vendor states this is fixed in 5.10.221 (unaffected)
Vendor states this is fixed in 5.15.162 (unaffected)
Vendor states this is fixed in 5.4.279 (unaffected)
Vendor states this is fixed in 6.1.95 (unaffected)
Vendor states this is fixed in 6.10 (unaffected)
Vendor states this is fixed in 6.6.35 (unaffected)
Vendor states this is fixed in 6.9.5 (unaffected)

References (9)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/0ecfe3a92869a59668d27228dabbd7965e83567f
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/1f3bff69f1214fe03a02bc650d5bbfaa6e65ae7d
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/271dcd977ccda8c7a26e360425ae7b4db7d2ecc0
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/33900d7eae616647e179eee1c66ebe654ee39627
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/614d397be0cf43412b3f94a0f6460eddced8ce92
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/95f6f81e50d858a7c9aa7c795ec14a0ac3819118
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/a4ca369ca221bb7e06c725792ac107f0e48e82e7
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/a75b8f493dfc48aa38c518430bd9e03b53bffebe

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
HIGH
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
NVD-CWE-noinfo

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