[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC (fix for 5.0?)] block/io: do not do pointer arithmetic on void
From: |
Daniel P . Berrangé |
Subject: |
Re: [RFC (fix for 5.0?)] block/io: do not do pointer arithmetic on void * |
Date: |
Wed, 18 Mar 2020 14:26:54 +0000 |
User-agent: |
Mutt/1.13.3 (2020-01-12) |
On Wed, Mar 18, 2020 at 05:22:53PM +0300, Vladimir Sementsov-Ogievskiy wrote:
> Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
> ---
>
> Hi all!
>
> C standard doesn't allow pointer arithmetic on void *.
> Still, gcc allows it as an extension:
> https://gcc.gnu.org/onlinedocs/gcc-4.8.0/gcc/Pointer-Arith.html
>
> I can create a series of patches like this. Do we need it?
I don't think so, we only care about gcc & clang.
> Also, where is documented which compilers are supported by Qemu?
It is checked in configure - gcc 4.8 or clang 3.4 or xcode clang 5.1
>
> block/io.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/block/io.c b/block/io.c
> index aba67f66b9..539178aed5 100644
> --- a/block/io.c
> +++ b/block/io.c
> @@ -1277,7 +1277,7 @@ static int coroutine_fn
> bdrv_co_do_copy_on_readv(BdrvChild *child,
> * modifying the image file. This is critical for zero-copy guest I/O
> * where anything might happen inside guest memory.
> */
> - void *bounce_buffer = NULL;
> + char *bounce_buffer = NULL;
>
> BlockDriver *drv = bs->drv;
> int64_t cluster_offset;
> --
> 2.21.0
>
>
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|