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-08-28 08:28:39 -05:00
2019-07-11 15:14:01 -07:00
2019-07-30 12:12:59 -04:00
2019-05-21 10:50:46 +02:00
2019-08-12 21:54:03 -04:00
2019-06-05 17:37:07 +02:00
2019-08-29 17:41:24 -04:00
2019-10-05 12:53:27 -07:00
2019-05-21 10:50:46 +02:00
2019-08-12 22:03:42 -04:00
2019-07-11 15:14:01 -07:00
2019-10-23 17:23:44 +02:00
2019-11-07 06:43:18 -07:00
2019-05-30 11:26:32 -07:00
2019-10-23 17:23:44 +02:00
2019-09-21 10:50:15 -07:00
2019-09-07 15:29:12 -04:00
2019-09-23 23:09:42 -04:00
2019-09-21 10:50:15 -07:00
2019-07-30 15:59:53 -04:00
2019-06-20 15:37:02 -04:00
2019-07-29 21:12:35 -04:00
2019-08-20 19:43:54 -05:00
2019-11-07 06:43:18 -07:00
2019-10-23 17:23:44 +02:00
2019-09-23 19:16:01 -07:00
2019-07-11 15:14:01 -07:00
2019-07-11 15:17:41 -07:00
2019-08-07 22:16:17 -04:00
2019-10-05 12:53:27 -07:00
2019-06-27 21:06:39 -07:00
2019-11-07 06:45:53 -07:00
2019-05-21 10:50:46 +02:00
2019-08-29 18:31:39 -04:00
2019-01-29 00:40:54 -05:00
2019-08-12 21:58:07 -04:00
2019-11-07 06:43:18 -07:00
2019-02-25 21:37:25 -05:00
2019-03-02 11:39:54 -08:00
2019-10-23 17:23:44 +02:00
2018-10-17 21:58:51 -04:00
2019-05-24 17:36:45 +02:00
2018-08-30 07:27:22 -04:00
2019-01-08 07:58:37 -05:00
2019-05-21 10:50:45 +02:00
2019-10-18 15:01:54 +02:00
2019-05-21 10:50:45 +02:00
2019-07-11 15:17:41 -07:00
2019-07-11 15:17:41 -07:00
2019-05-21 10:50:45 +02:00
2018-12-18 23:13:12 -05:00
2018-06-19 22:02:25 -04:00
2019-05-21 10:50:45 +02:00
2019-01-22 10:21:43 +01:00
2019-05-21 10:50:45 +02:00
2019-06-05 17:37:11 +02:00
2019-06-05 17:37:11 +02:00
2019-05-21 10:50:45 +02:00
2019-10-09 23:39:35 -04:00
2018-12-18 23:19:21 -05:00
2019-05-24 17:36:45 +02:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-07-11 15:17:41 -07:00
2019-06-20 15:21:33 -04:00
2019-07-30 12:18:24 -04:00
2019-06-18 19:46:18 -04:00
2019-07-30 12:17:28 -04:00
2019-06-18 19:46:22 -04:00
2018-09-25 20:45:53 -04:00
2019-05-21 10:50:45 +02:00
2019-01-08 21:58:35 -05:00
2019-01-08 21:58:35 -05:00
2019-01-08 21:57:42 -05:00
2019-05-30 11:25:18 -07:00
2019-01-08 21:58:35 -05:00
2019-05-21 10:50:45 +02:00
2019-07-20 10:04:58 -07:00
2019-07-11 15:14:01 -07:00
2019-11-07 06:43:18 -07:00
2019-06-18 19:46:18 -04:00
2019-06-05 17:36:37 +02:00
2019-06-05 17:36:37 +02:00
2019-07-11 15:17:41 -07:00
2019-05-21 11:28:46 +02:00
2019-07-11 15:17:41 -07:00
2019-05-30 11:26:35 -07:00
2018-12-18 23:19:21 -05:00
2018-11-06 21:31:28 -05:00
2019-06-05 17:36:37 +02:00
2019-05-30 11:26:37 -07:00
2019-05-30 11:26:37 -07:00
2019-05-21 10:50:45 +02:00
2019-11-07 06:43:18 -07:00
2019-05-24 17:36:45 +02:00
2019-07-11 15:14:01 -07:00
2019-05-30 11:26:35 -07:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-07-11 15:14:01 -07:00
2019-07-17 22:39:27 +09:00
2019-09-23 23:09:42 -04:00
2018-06-19 22:02:25 -04:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2018-12-18 23:13:12 -05:00
2019-07-11 15:17:41 -07:00
2019-05-30 11:26:39 -07:00
2018-12-28 14:48:06 -08:00
2018-10-17 21:06:49 -04:00
2019-05-20 10:56:43 -04:00
2018-10-17 21:07:54 -04:00
2019-08-07 21:53:23 -04:00
2019-05-24 17:36:45 +02:00
2019-07-11 15:17:41 -07:00
2019-06-20 15:37:02 -04:00
2018-06-19 22:02:25 -04:00
2019-05-24 17:39:02 +02:00
2019-05-24 17:39:02 +02:00
2019-10-23 17:23:44 +02:00
2019-05-30 11:26:35 -07:00
2019-06-20 15:21:33 -04:00
2019-05-30 11:26:38 -07:00
2019-08-16 11:33:56 -07:00
2019-08-16 11:33:56 -07:00
2019-03-19 17:11:37 -04:00
2018-12-18 23:19:21 -05:00
2019-08-07 21:32:53 -04:00
2019-02-13 22:07:03 -05:00
2019-06-05 17:37:17 +02:00
2019-05-24 17:36:45 +02:00
2019-05-24 17:27:12 +02:00
2019-07-30 12:42:55 -04:00
2019-05-21 06:16:21 -04:00
2019-07-11 20:39:22 -04:00
2019-05-30 11:26:35 -07:00
2019-10-03 21:43:04 -04:00
2019-05-21 06:16:21 -04:00
2019-11-12 19:11:33 -07:00
2019-08-07 21:47:29 -04:00
2019-05-30 11:26:35 -07:00
2019-09-12 07:11:58 -06:00
2019-06-18 19:46:17 -04:00
2019-07-30 13:07:42 +02:00
2019-04-15 22:25:00 -04:00
2019-05-30 11:29:53 -07:00
2019-10-31 09:33:19 +01:00
2019-06-05 17:37:07 +02:00
2019-07-11 15:14:01 -07:00
2019-05-30 11:26:35 -07:00
2019-05-30 11:29:53 -07:00
2019-05-30 11:26:35 -07:00
2019-06-19 17:09:56 +02:00
2019-10-30 08:44:17 -07:00
2018-06-19 22:02:25 -04:00
2019-06-05 17:37:14 +02:00
2019-12-03 10:18:22 -07:00
2019-12-01 13:46:15 -08:00
2019-11-12 19:12:07 -07:00
2019-07-11 15:14:01 -07:00
2019-10-23 17:23:47 +02:00
2018-12-18 23:19:21 -05:00
2019-05-24 17:36:45 +02:00
2019-10-09 23:35:42 -04:00
2018-08-02 15:22:13 -06:00
2019-11-26 13:02:26 -07:00
2019-05-21 06:16:23 -04:00
2019-10-23 17:23:44 +02:00
2019-05-30 11:26:32 -07:00
2019-11-21 20:10:44 -05:00
2019-08-07 21:33:51 -04:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-09-10 22:10:17 -04:00
2019-07-11 15:17:41 -07:00
2019-08-07 21:35:59 -04:00
2019-05-24 17:39:02 +02:00
2019-07-11 15:14:01 -07:00
2018-11-15 14:27:08 -05:00
2018-12-18 23:13:12 -05:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2018-10-17 21:38:20 -04:00