diff options
author | Eric Blake <eblake@redhat.com> | 2023-08-29 12:58:31 -0500 |
---|---|---|
committer | Eric Blake <eblake@redhat.com> | 2023-09-25 08:35:06 -0500 |
commit | b2578459323c56002b360f5fc02188be7f5ca4db (patch) | |
tree | 6914af3f76c19772b9e8b5833843c3515cac5873 /nbd/client.c | |
parent | d95ffb6fe6008c114602e20d848100081d62f7aa (diff) |
nbd: Prepare for 64-bit request effect lengths
Widen the length field of NBDRequest to 64-bits, although we can
assert that all current uses are still under 32 bits: either because
of NBD_MAX_BUFFER_SIZE which is even smaller (and where size_t can
still be appropriate, even on 32-bit platforms), or because nothing
ever puts us into NBD_MODE_EXTENDED yet (and while future patches will
allow larger transactions, the lengths in play here are still capped
at 32-bit). There are no semantic changes, other than a typo fix in a
couple of error messages.
Signed-off-by: Eric Blake <eblake@redhat.com>
Message-ID: <20230829175826.377251-23-eblake@redhat.com>
[eblake: fix assertion bug in nbd_co_send_simple_reply]
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Diffstat (limited to 'nbd/client.c')
-rw-r--r-- | nbd/client.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/nbd/client.c b/nbd/client.c index 345f1c0f2d..cecb0f0437 100644 --- a/nbd/client.c +++ b/nbd/client.c @@ -1349,6 +1349,7 @@ int nbd_send_request(QIOChannel *ioc, NBDRequest *request) uint8_t buf[NBD_REQUEST_SIZE]; assert(request->mode <= NBD_MODE_STRUCTURED); /* TODO handle extended */ + assert(request->len <= UINT32_MAX); trace_nbd_send_request(request->from, request->len, request->cookie, request->flags, request->type, nbd_cmd_lookup(request->type)); |