CVE-2025-71225

md: suspend array while updating raid_disks via sysfs

State
Published
Severity
Not scored
Published
Feb 18, 2026
Updated
Oct 21, 2026
Reserved
Feb 14, 2026

Read the record on cve.org

Description

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

md: suspend array while updating raid_disks via sysfs

In raid1_reshape(), freeze_array() is called before modifying the r1bio memory pool (conf->r1bio_pool) and conf->raid_disks, and unfreeze_array() is called after the update is completed.

However, freeze_array() only waits until nr_sync_pending and (nr_pending - nr_queued) of all buckets reaches zero. When an I/O error occurs, nr_queued is increased and the corresponding r1bio is queued to either retry_list or bio_end_io_list. As a result, freeze_array() may unblock before these r1bios are released.

This can lead to a situation where conf->raid_disks and the mempool have already been updated while queued r1bios, allocated with the old raid_disks value, are later released. Consequently, free_r1bio() may access memory out of bounds in put_all_bios() and release r1bios of the wrong size to the new mempool, potentially causing issues with the mempool as well.

Since only normal I/O might increase nr_queued while an I/O error occurs, suspending the array avoids this issue.

Note: Updating raid_disks via ioctl SET_ARRAY_INFO already suspends the array. Therefore, we suspend the array when updating raid_disks via sysfs to avoid this issue too.

Scores

The record has no CVSS score.

Weaknesses

  • CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

Affected Products

ProductVersions
LinuxLinux
  • e2d59925221cd562e07fee38ec8839f7209ae603 to before 863b9b7be824a6b2c0587532d3ece3022c6dd451Affected
  • e2d59925221cd562e07fee38ec8839f7209ae603 to before 165d1359f945b72c5f90088f60d48ff46115269eAffected
  • e2d59925221cd562e07fee38ec8839f7209ae603 to before 0107b18cd8ac17eb3e54786adc05a85cdbb6ef22Affected
  • e2d59925221cd562e07fee38ec8839f7209ae603 to before 2cc583653bbe050bacd1cadcc9776d39bf449740Affected
  • 1b9203bb4c658c0242afa6fdb025c71d2fc3ad76Affected
  • 8ccf6cfb157419847f3cb2bfdfbcdbd39860e8e9Affected
  • 3.4.59 to before 3.5Affected
  • 3.9.7 to before 3.10Affected
LinuxLinux
  • 3.10Affected
  • before 3.10Not affected
  • 6.6.160 through 6.6.*Not affected
  • 6.12.70 through 6.12.*Not affected
  • 6.18.10 through 6.18.*Not affected
  • 6.19 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.