The functon dm_blk_report_zones reads md->zone_revalidate_map, however it may change while the function is running. Use READ_ONCE.
Signed-off-by: Mikulas Patocka <[email protected]> Fixes: 37f53a2c60d0 ("dm: fix dm_blk_report_zones") --- drivers/md/dm-zone.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: linux-2.6/drivers/md/dm-zone.c =================================================================== --- linux-2.6.orig/drivers/md/dm-zone.c 2026-01-06 22:57:00.000000000 +0100 +++ linux-2.6/drivers/md/dm-zone.c 2026-01-06 22:57:00.000000000 +0100 @@ -50,7 +50,7 @@ int dm_blk_report_zones(struct gendisk * { struct mapped_device *md = disk->private_data; struct dm_table *map; - struct dm_table *zone_revalidate_map = md->zone_revalidate_map; + struct dm_table *zone_revalidate_map = READ_ONCE(md->zone_revalidate_map); int srcu_idx, ret = -EIO; bool put_table = false;
