Christoph Hellwig
6c6b354914
block: set the zone size in blk_revalidate_disk_zones atomically
...
The current zone revalidation code has a major problem in that it
doesn't update the zone size and q->nr_zones atomically, leading
to a short window where an out of bounds access to the zone arrays
is possible.
To fix this move the setting of the zone size into the crticial
sections blk_revalidate_disk_zones so that it gets updated together
with the zone bitmaps and q->nr_zones. This also slightly simplifies
the caller as it deducts the zone size from the report_zones.
This change also allows to check for a power of two zone size in generic
code.
Reported-by: Hans Holmberg <hans@owltronix.com >
Reviewed-by: Javier González <javier@javigon.com >
Signed-off-by: Christoph Hellwig <hch@lst.de >
Signed-off-by: Jens Axboe <axboe@kernel.dk >
2019-12-03 10:18:22 -07:00
..
2019-12-01 18:43:25 -08:00
2019-12-01 13:46:15 -08:00
2019-12-01 17:56:50 -08:00
2019-11-27 11:06:20 -08:00
2019-12-03 10:18:22 -07:00
2019-11-22 13:35:20 +01:00
2019-11-27 10:57:52 -08:00
2019-11-26 13:02:24 -07:00
2019-12-01 13:46:15 -08:00
2019-12-01 16:06:02 -08:00
2019-11-27 11:27:59 -08:00
2019-11-26 19:06:44 -08:00
2019-11-20 11:46:18 +01:00
2019-12-01 13:46:15 -08:00
2019-12-01 18:43:25 -08:00
2019-12-01 13:46:15 -08:00
2019-11-22 10:18:29 +01:00
2019-11-27 10:53:50 -08:00
2019-12-01 13:46:15 -08:00
2019-11-27 10:53:50 -08:00
2019-12-01 17:56:50 -08:00
2019-12-01 17:56:50 -08:00
2019-12-01 18:20:54 -08:00
2019-11-30 14:50:51 -08:00
2019-12-01 13:46:15 -08:00
2019-12-01 13:46:15 -08:00
2019-12-01 18:29:36 -08:00
2019-12-01 13:46:15 -08:00
2019-12-01 13:46:15 -08:00
2019-12-01 13:46:15 -08:00
2019-11-25 13:26:56 -08:00
2019-11-30 14:50:51 -08:00
2019-11-27 11:27:59 -08:00
2019-12-01 13:46:15 -08:00
2019-12-01 16:09:28 -08:00
2019-11-30 14:35:43 -08:00
2019-12-01 18:42:02 -08:00
2019-12-03 08:51:25 -07:00
2019-12-01 13:46:15 -08:00
2019-11-21 12:25:59 +01:00
2019-12-01 16:16:31 -08:00
2019-12-01 18:29:36 -08:00
2019-11-27 11:06:20 -08:00
2019-12-01 13:46:15 -08:00
2019-12-01 13:46:15 -08:00
2019-11-22 16:27:24 -08:00
2019-12-01 18:43:25 -08:00
2019-12-01 13:46:15 -08:00
2019-11-27 10:53:50 -08:00
2019-11-28 11:16:43 -08:00
2019-11-25 19:40:40 -08:00
2019-12-01 13:46:15 -08:00
2019-11-22 07:03:45 +01:00
2019-11-27 10:53:50 -08:00
2019-11-28 09:12:43 +01:00
2019-12-01 18:24:25 -08:00
2019-12-01 16:16:31 -08:00
2019-11-16 21:51:42 -08:00
2019-11-22 19:56:20 +00:00
2019-11-18 20:35:16 -08:00
2019-12-01 18:39:24 -08:00
2019-12-01 16:16:31 -08:00
2019-12-01 13:46:15 -08:00
2019-12-03 10:18:22 -07:00
2019-11-16 21:51:42 -08:00
2019-11-22 19:56:35 +00:00
2019-12-01 13:46:15 -08:00
2019-12-01 18:24:25 -08:00
2019-11-19 17:35:57 +01:00
2019-12-01 13:46:15 -08:00
2019-12-01 13:46:15 -08:00
2019-12-01 13:46:15 -08:00
2019-12-01 13:46:15 -08:00
2019-12-01 18:29:36 -08:00
2019-12-01 13:46:15 -08:00
2019-11-20 02:15:57 -05:00
2019-12-01 18:01:03 -08:00
2019-11-30 10:33:14 -08:00