Files
linux/drivers/md
Samuel Moelius a868196f03 dm era: fix out-of-bounds memory access for non-zero start sector
dm-era tracks writes in target-relative blocks, but era_map() calculates
the writeset block before applying the target offset.  Tables with a
non-zero start sector can therefore pass an absolute mapped-device block
to metadata_current_marked().

If the absolute block is beyond the current writeset size,
writeset_marked() tests past the end of the in-core bitset.  KASAN reports
this as a vmalloc-out-of-bounds access.

Apply the target offset before calculating the era block so writeset
lookups use the target-relative block number.

Assisted-by: Codex:gpt-5.5-cyber-preview
Signed-off-by: Samuel Moelius <sam.moelius@trailofbits.com>
Reviewed-by: Ming-Hung Tsai <mtsai@redhat.com>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Cc: stable@vger.kernel.org
Fixes: eec40579d8 ("dm: add era target")
2026-07-08 22:33:34 +02:00
..
2026-03-26 18:31:15 +01:00
2023-02-14 14:23:06 -05:00
2024-11-20 11:38:04 +01:00
2026-05-18 14:27:11 +02:00
2025-11-05 08:07:21 -07:00
2025-01-13 07:36:29 -08:00
2026-01-26 13:17:38 +08:00
2026-01-26 13:17:38 +08:00