Description
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).
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
b29e6400be51c214a0ad30dce937348b57abe33a to < 9d7490007707f90691911385365bd1d691d99225affectedaa8e15d69f5c0044d5bff61844e163aacc4ac172 to < cab7d949b18b2f1cd625689dc16c5f81236bac93affected9c89f604476cf15c31fbbdb043cff7fbf1dbe0cb to < 02c10581866d08822c6348e299881485fc546185affected9c89f604476cf15c31fbbdb043cff7fbf1dbe0cb to < ccbdc483eb041eef809e9ff223d1ad63518a2c52affected9c89f604476cf15c31fbbdb043cff7fbf1dbe0cb to < 17ea021ae74987d6064c8195c4922fa025753892affecteda41a0df5d7638acf15e723ad985980b4f7ff9383affected6.6.79 to < 6.6.157affected6.12.13 to < 6.12.110affected6.13.2 to < 6.14affected
Linux Linux
Default version status: affected
6.14affected0 to < 6.14unaffected6.6.157 to ≤ 6.6.*unaffected6.12.110 to ≤ 6.12.*unaffected6.18.52 to ≤ 6.18.*unaffected7.2.6 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
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 ↗