CVE-2023-53151

md/raid10: prevent soft lockup while flush writes

published September 15, 2025

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

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

md/raid10: prevent soft lockup while flush writes

Currently, there is no limit for raid1/raid10 plugged bio. While flushing

writes, raid1 has cond_resched() while raid10 doesn't, and too many

writes can cause soft lockup.

Follow up soft lockup can be triggered easily with writeback test for

raid10 with ramdisks:

watchdog: BUG: soft lockup - CPU#10 stuck for 27s! [md0_raid10:1293]

Call Trace:

<TASK>

call_rcu+0x16/0x20

put_object+0x41/0x80

__delete_object+0x50/0x90

delete_object_full+0x2b/0x40

kmemleak_free+0x46/0xa0

slab_free_freelist_hook.constprop.0+0xed/0x1a0

kmem_cache_free+0xfd/0x300

mempool_free_slab+0x1f/0x30

mempool_free+0x3a/0x100

bio_free+0x59/0x80

bio_put+0xcf/0x2c0

free_r10bio+0xbf/0xf0

raid_end_bio_io+0x78/0xb0

one_write_done+0x8a/0xa0

raid10_end_write_request+0x1b4/0x430

bio_endio+0x175/0x320

brd_submit_bio+0x3b9/0x9b7 [brd]

__submit_bio+0x69/0xe0

submit_bio_noacct_nocheck+0x1e6/0x5a0

submit_bio_noacct+0x38c/0x7e0

flush_pending_writes+0xf0/0x240

raid10d+0xac/0x1ed0

Fix the problem by adding cond_resched() to raid10 like what raid1 did.

Note that unlimited plugged bio still need to be optimized, for example,

in the case of lots of dirty pages writeback, this will take lots of

memory and io will spend a long time in plug, hence io latency is bad.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00121 · 1.8th percentile
Published
2025-09-15T14:03Z
EPSS history
Timeline
  • 15 SEP 14:03Z
    md/raid10: prevent soft lockup while flush writes
    cvelistv5