From: Vladimir Sementsov-Ogievskiy Date: Wed, 6 Oct 2021 13:17:18 +0000 (+0200) Subject: block-backend: drop INT_MAX restriction from blk_check_byte_request() X-Git-Tag: v6.2.0-rc0~52^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=aa78b825162163d2c51903490d67c10a689eac6b;p=thirdparty%2Fqemu.git block-backend: drop INT_MAX restriction from blk_check_byte_request() blk_check_bytes_request is called from blk_co_do_preadv, blk_co_do_pwritev_part, blk_co_do_pdiscard and blk_co_copy_range before (maybe) calling throttle_group_co_io_limits_intercept() (which has int64_t argument) and then calling corresponding bdrv_co_ function. bdrv_co_ functions are OK with int64_t bytes as well. So dropping the check for INT_MAX we just get same restrictions as in bdrv_ layer: discard and write-zeroes goes through bdrv_check_qiov_request() and are allowed to be 64bit. Other requests go through bdrv_check_request32() and still restricted by INT_MAX boundary. Signed-off-by: Vladimir Sementsov-Ogievskiy Message-Id: <20211006131718.214235-13-vsementsov@virtuozzo.com> Reviewed-by: Eric Blake Signed-off-by: Eric Blake --- diff --git a/block/block-backend.c b/block/block-backend.c index 59746eda45b..39cd99df2b3 100644 --- a/block/block-backend.c +++ b/block/block-backend.c @@ -1166,7 +1166,7 @@ static int blk_check_byte_request(BlockBackend *blk, int64_t offset, { int64_t len; - if (bytes < 0 || bytes > INT_MAX) { + if (bytes < 0) { return -EIO; }