← Back to CVE List
CVE-2026-90279NVD
Vulnerability Summary
In the Linux kernel, the following vulnerability has been resolved:
md/raid5: round bitmap stripes with sector division
raid5_bitmap_sector_map() aligns the array range to full RAID5 stripe
widths before converting it to component sectors. That width is
chunk_sectors multiplied by the number of data disks, and it is not
always a power of two.
Reproduce with a 4-disk RAID5, 1024-sector chunks, and three data disks.
The full-stripe width is 3072 sectors. For a one-sector write at array
sector 3072, correct rounding gives array range [3072, 6144), which maps
to component range [1024, 2048). The old round_down()/round_up() logic
instead gives [1024, 4096), which maps to [0, 1024).
Use sector_div() based arithmetic so the rounded range is aligned to the
actual RAID5 stripe width.
The deterministic mapper test now reports the fixed component range as
[1024, 2048), while the old mask-based range was [0, 1024).
md/raid5: round bitmap stripes with sector division
raid5_bitmap_sector_map() aligns the array range to full RAID5 stripe
widths before converting it to component sectors. That width is
chunk_sectors multiplied by the number of data disks, and it is not
always a power of two.
Reproduce with a 4-disk RAID5, 1024-sector chunks, and three data disks.
The full-stripe width is 3072 sectors. For a one-sector write at array
sector 3072, correct rounding gives array range [3072, 6144), which maps
to component range [1024, 2048). The old round_down()/round_up() logic
instead gives [1024, 4096), which maps to [0, 1024).
Use sector_div() based arithmetic so the rounded range is aligned to the
actual RAID5 stripe width.
The deterministic mapper test now reports the fixed component range as
[1024, 2048), while the old mask-based range was [0, 1024).
Affected & Patched Versions
- Linux Linux >= b29e6400be51c214a0ad30dce937348b57abe33a and < 9d7490007707f90691911385365bd1d691d99225
- Linux Linux >= aa8e15d69f5c0044d5bff61844e163aacc4ac172 and < cab7d949b18b2f1cd625689dc16c5f81236bac93
- Linux Linux >= 9c89f604476cf15c31fbbdb043cff7fbf1dbe0cb and < 02c10581866d08822c6348e299881485fc546185
- Linux Linux >= 9c89f604476cf15c31fbbdb043cff7fbf1dbe0cb and < ccbdc483eb041eef809e9ff223d1ad63518a2c52
- Linux Linux >= 9c89f604476cf15c31fbbdb043cff7fbf1dbe0cb and < 17ea021ae74987d6064c8195c4922fa025753892
- Linux Linux >= a41a0df5d7638acf15e723ad985980b4f7ff9383
- Linux Linux >= 6.6.79 and < 6.6.157
- Linux Linux >= 6.12.13 and < 6.12.110
- Linux Linux >= 6.13.2 and < 6.14
- Linux Linux >= 6.14
- Linux Linux 9d7490007707f90691911385365bd1d691d99225
- Linux Linux cab7d949b18b2f1cd625689dc16c5f81236bac93
- Linux Linux 02c10581866d08822c6348e299881485fc546185
- Linux Linux ccbdc483eb041eef809e9ff223d1ad63518a2c52
- Linux Linux 17ea021ae74987d6064c8195c4922fa025753892
- Linux Linux 6.6.157
- Linux Linux 6.12.110
- Linux Linux 6.14
External References
- https://git.kernel.org/stable/c/9d7490007707f90691911385365bd1d691d99225
- https://git.kernel.org/stable/c/cab7d949b18b2f1cd625689dc16c5f81236bac93
- https://git.kernel.org/stable/c/02c10581866d08822c6348e299881485fc546185
- https://git.kernel.org/stable/c/ccbdc483eb041eef809e9ff223d1ad63518a2c52
- https://git.kernel.org/stable/c/17ea021ae74987d6064c8195c4922fa025753892