CVE-2023-53151

Source
https://nvd.nist.gov/vuln/detail/CVE-2023-53151
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-53151.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2023-53151
Downstream
Related
Published
2025-09-15T14:03:19.155Z
Modified
2025-11-28T02:35:40.448968Z
Summary
md/raid10: prevent soft lockup while flush writes
Details

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! [md0raid10:1293] Call Trace: <TASK> callrcu+0x16/0x20 putobject+0x41/0x80 _deleteobject+0x50/0x90 deleteobjectfull+0x2b/0x40 kmemleakfree+0x46/0xa0 slabfreefreelisthook.constprop.0+0xed/0x1a0 kmemcachefree+0xfd/0x300 mempoolfreeslab+0x1f/0x30 mempoolfree+0x3a/0x100 biofree+0x59/0x80 bioput+0xcf/0x2c0 freer10bio+0xbf/0xf0 raidendbioio+0x78/0xb0 onewritedone+0x8a/0xa0 raid10endwriterequest+0x1b4/0x430 bioendio+0x175/0x320 brdsubmitbio+0x3b9/0x9b7 [brd] _submitbio+0x69/0xe0 submitbionoacctnocheck+0x1e6/0x5a0 submitbionoacct+0x38c/0x7e0 flushpending_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.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/53xxx/CVE-2023-53151.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Fixed
f45b2fa7678ab385299de345f7e85d05caea386b
Fixed
00ecb6fa67c0f772290c5ea5ae8b46eefd503b83
Fixed
d0345f7c7dbc5d42e4e6f1db99c1c1879d7b0eb5
Fixed
634daf6b2c81015cc5e28bf694a6a94a50c641cd
Fixed
84a578961b2566e475bfa8740beaf0abcc781a6f
Fixed
1d467e10507167eb6dc2c281a87675b731955d86
Fixed
fbf50184190d55f8717bd29aa9530c399be96f30
Fixed
010444623e7f4da6b4a4dd603a7da7469981e293

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
4.14.322
Type
ECOSYSTEM
Events
Introduced
4.15.0
Fixed
4.19.291
Type
ECOSYSTEM
Events
Introduced
4.20.0
Fixed
5.4.251
Type
ECOSYSTEM
Events
Introduced
5.5.0
Fixed
5.10.188
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.150
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.83
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.4.7