All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>,
	"open list:Block layer core" <qemu-block@nongnu.org>
Subject: [PULL 13/15] block-backend: drop INT_MAX restriction from blk_check_byte_request()
Date: Fri, 15 Oct 2021 16:10:08 -0500	[thread overview]
Message-ID: <20211015211011.1272011-14-eblake@redhat.com> (raw)
In-Reply-To: <20211015211011.1272011-1-eblake@redhat.com>

From: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>

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 <vsementsov@virtuozzo.com>
Message-Id: <20211006131718.214235-13-vsementsov@virtuozzo.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
---
 block/block-backend.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/block/block-backend.c b/block/block-backend.c
index 59746eda45b0..39cd99df2b3c 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;
     }

-- 
2.31.1



  parent reply	other threads:[~2021-10-15 21:29 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-15 21:09 [PULL 00/15] NBD patches through 2021-10-15 Eric Blake
2021-10-15 21:09 ` [PULL 01/15] qcow2: Silence clang -m32 compiler warning Eric Blake
2021-10-15 21:09 ` [PULL 02/15] block-backend: blk_check_byte_request(): int64_t bytes Eric Blake
2021-10-15 21:09 ` [PULL 03/15] block-backend: make blk_co_preadv() 64bit Eric Blake
2021-10-15 21:09 ` [PULL 04/15] block-backend: convert blk_co_pwritev_part to int64_t bytes Eric Blake
2021-10-15 21:10 ` [PULL 05/15] block-backend: convert blk_co_pdiscard " Eric Blake
2021-10-15 21:10 ` [PULL 06/15] block-backend: rename _do_ helper functions to _co_do_ Eric Blake
2021-10-15 21:10 ` [PULL 07/15] block-coroutine-wrapper.py: support BlockBackend first argument Eric Blake
2021-10-15 21:10 ` [PULL 08/15] block-backend: drop blk_prw, use block-coroutine-wrapper Eric Blake
2021-10-15 21:10 ` [PULL 09/15] block-backend: convert blk_foo wrappers to use int64_t bytes parameter Eric Blake
2021-10-15 21:10 ` [PULL 10/15] block-backend: convert blk_co_copy_range to int64_t bytes Eric Blake
2021-10-15 21:10 ` [PULL 11/15] block-backend: convert blk_aio_ functions to int64_t bytes paramter Eric Blake
2021-10-15 21:10 ` [PULL 12/15] block-backend: blk_pread, blk_pwrite: rename count parameter to bytes Eric Blake
2021-10-15 21:10 ` Eric Blake [this message]
2021-10-15 21:10 ` [PULL 14/15] block-backend: fix blk_co_flush prototype to mention coroutine_fn Eric Blake
2021-10-15 21:10 ` [PULL 15/15] block-backend: update blk_co_pwrite() and blk_co_pread() wrappers Eric Blake
2021-10-15 22:49 ` [PULL 00/15] NBD patches through 2021-10-15 Richard Henderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211015211011.1272011-14-eblake@redhat.com \
    --to=eblake@redhat.com \
    --cc=hreitz@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=vsementsov@virtuozzo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.