From: Kevin Wolf <kwolf@redhat.com>
To: qemu-block@nongnu.org
Cc: kwolf@redhat.com, qemu-devel@nongnu.org
Subject: [Qemu-devel] [PULL 12/19] luks: Turn another invalid assertion into check
Date: Mon, 26 Mar 2018 16:35:53 +0200 [thread overview]
Message-ID: <20180326143600.7724-13-kwolf@redhat.com> (raw)
In-Reply-To: <20180326143600.7724-1-kwolf@redhat.com>
Commit e39e959e fixed an invalid assertion in the .bdrv_length
implementation, but left a similar assertion in place for
.bdrv_truncate. Instead of crashing when the user requests a too large
image size, fail gracefully.
A file size of exactly INT64_MAX caused failure before, but is actually
legal.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
---
block/crypto.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/block/crypto.c b/block/crypto.c
index e0b8856f74..bc6c7e3795 100644
--- a/block/crypto.c
+++ b/block/crypto.c
@@ -357,7 +357,11 @@ static int block_crypto_truncate(BlockDriverState *bs, int64_t offset,
BlockCrypto *crypto = bs->opaque;
uint64_t payload_offset =
qcrypto_block_get_payload_offset(crypto->block);
- assert(payload_offset < (INT64_MAX - offset));
+
+ if (payload_offset > INT64_MAX - offset) {
+ error_setg(errp, "The requested file size is too large");
+ return -EFBIG;
+ }
offset += payload_offset;
--
2.13.6
next prev parent reply other threads:[~2018-03-26 14:36 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-26 14:35 [Qemu-devel] [PULL 00/19] Block layer patches Kevin Wolf
2018-03-26 14:35 ` [Qemu-devel] [PULL 01/19] iotests: 163 is not quick Kevin Wolf
2018-03-26 14:35 ` [Qemu-devel] [PULL 02/19] block/replication: Remove protocol_name field Kevin Wolf
2018-03-26 14:35 ` [Qemu-devel] [PULL 03/19] block/quorum: Remove protocol-related fields Kevin Wolf
2018-03-26 14:35 ` [Qemu-devel] [PULL 04/19] block/throttle: " Kevin Wolf
2018-03-26 14:35 ` [Qemu-devel] [PULL 05/19] block/blkreplay: " Kevin Wolf
2018-03-26 14:35 ` [Qemu-devel] [PULL 06/19] include/block/block_int: Document protocol related functions Kevin Wolf
2018-03-26 14:35 ` [Qemu-devel] [PULL 07/19] qcow2: Reset free_cluster_index when allocating a new refcount block Kevin Wolf
2018-03-26 14:35 ` [Qemu-devel] [PULL 08/19] vdi: Change 'static' create option to 'preallocation' in QMP Kevin Wolf
2018-03-26 14:35 ` [Qemu-devel] [PULL 09/19] vdi: Fix build with CONFIG_VDI_DEBUG Kevin Wolf
2018-03-26 14:35 ` [Qemu-devel] [PULL 10/19] qemu-iotests: Test vdi image creation with QMP Kevin Wolf
2018-03-26 14:35 ` [Qemu-devel] [PULL 11/19] qemu-iotests: Enable 025 for luks Kevin Wolf
2018-03-26 14:35 ` Kevin Wolf [this message]
2018-03-26 14:35 ` [Qemu-devel] [PULL 13/19] qemu-iotests: Test invalid resize on luks Kevin Wolf
2018-03-26 14:35 ` [Qemu-devel] [PULL 14/19] parallels: Check maximum cluster size on create Kevin Wolf
2018-03-26 14:35 ` [Qemu-devel] [PULL 15/19] qemu-iotests: Test parallels image creation with QMP Kevin Wolf
2018-03-26 14:35 ` [Qemu-devel] [PULL 16/19] vhdx: Require power-of-two block size on create Kevin Wolf
2018-03-26 14:35 ` [Qemu-devel] [PULL 17/19] vhdx: Don't use error_setg_errno() with constant errno Kevin Wolf
2018-03-26 14:35 ` [Qemu-devel] [PULL 18/19] vhdx: Check for 4 GB maximum log size on creation Kevin Wolf
2018-03-26 14:36 ` [Qemu-devel] [PULL 19/19] qemu-iotests: Test vhdx image creation with QMP Kevin Wolf
2018-03-27 9:27 ` [Qemu-devel] [PULL 00/19] Block layer patches Peter Maydell
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=20180326143600.7724-13-kwolf@redhat.com \
--to=kwolf@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).