On Mon, Jan 04, 2021 at 09:11:47PM +0900, Damien Le Moal wrote: > commit 0ebcdd702f49aeb0ad2e2d894f8c124a0acc6e23 upstream. > > For a null_blk device with zoned mode enabled is currently initialized > with a number of zones equal to the device capacity divided by the zone > size, without considering if the device capacity is a multiple of the > zone size. If the zone size is not a divisor of the capacity, the zones > end up not covering the entire capacity, potentially resulting is out > of bounds accesses to the zone array. > > Fix this by adding one last smaller zone with a size equal to the > remainder of the disk capacity divided by the zone size if the capacity > is not a multiple of the zone size. For such smaller last zone, the zone > capacity is also checked so that it does not exceed the smaller zone > size. > > Reported-by: Naohiro Aota <naohiro.aota@xxxxxxx> > Fixes: ca4b2a011948 ("null_blk: add zone support") > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Damien Le Moal <damien.lemoal@xxxxxxx> > Reviewed-by: Christoph Hellwig <hch@xxxxxx> > Reviewed-by: Johannes Thumshirn <johannes.thumshirn@xxxxxxx> > Signed-off-by: Jens Axboe <axboe@xxxxxxxxx> > --- > drivers/block/null_blk_zoned.c | 20 +++++++++++++------- > 1 file changed, 13 insertions(+), 7 deletions(-) That worked, thanks! greg k-h