qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 09/21] qcow2: Open images with refcount order !=


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH 09/21] qcow2: Open images with refcount order != 4
Date: Mon, 10 Nov 2014 10:03:23 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0

On 11/10/2014 06:45 AM, Max Reitz wrote:
> No longer refuse to open images with a different refcount entry width
> than 16 bits; only reject images with a refcount width larger than 64
> bits (which is prohibited by the specification).
> 
> Signed-off-by: Max Reitz <address@hidden>
> ---
>  block/qcow2.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/block/qcow2.c b/block/qcow2.c
> index d70e927..b718e75 100644
> --- a/block/qcow2.c
> +++ b/block/qcow2.c
> @@ -677,10 +677,10 @@ static int qcow2_open(BlockDriverState *bs, QDict 
> *options, int flags,
>      }
>  
>      /* Check support for various header values */
> -    if (header.refcount_order != 4) {
> -        report_unsupported(bs, errp, "%d bit reference counts",
> -                           1 << header.refcount_order);
> -        ret = -ENOTSUP;
> +    if (header.refcount_order > 6) {
> +        error_setg(errp, "Reference count entry width too large (%i bit); 
> may "
> +                   "not exceed 64 bit", 1 << header.refcount_order);

Overflows if I fuzz an image to put 32 or larger into
header.refcount_order. It may be better to just tweak the error message
to state that the order cannot exceed 6, rather than trying to display
the actual bit width that the user is requesting, as then you avoid the
'1 << problem'.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]