Message ID | 1438043577-28636-4-git-send-email-marcandre.lureau@redhat.com |
---|---|
State | New |
Headers | show |
On 28/07/2015 02:32, Marc-André Lureau wrote: > From: Marc-André Lureau <marcandre.lureau@gmail.com> > > ivshmem_read() only reads sizeof(long) from the input buffer. Accepting > more could lead to fifo8 abort() on x86 if it's not empty. > > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> > --- > hw/misc/ivshmem.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c > index cc76989..fb53b3f 100644 > --- a/hw/misc/ivshmem.c > +++ b/hw/misc/ivshmem.c > @@ -272,7 +272,7 @@ static void ivshmem_receive(void *opaque, const uint8_t *buf, int size) > > static int ivshmem_can_receive(void * opaque) > { > - return 8; > + return sizeof(long); > } > > static void ivshmem_event(void *opaque, int event) > -- 2.4.3 I would prefer to change all longs to uint64_t, to avoid a dependency on the host long size. Even better one could have uint32_t for the id plus a flags value that for now would always be zero. Paolo
Hi On Wed, Jul 29, 2015 at 9:47 AM, Paolo Bonzini <pbonzini@redhat.com> wrote: > I would prefer to change all longs to uint64_t, to avoid a dependency on > the host long size. Even better one could have uint32_t for the id plus > a flags value that for now would always be zero. I would prefer too, but that would break the protocol. Imho, this is a seperate change, it doesn't make this patch less valid.
On 29/07/2015 10:26, Marc-André Lureau wrote: >> I would prefer to change all longs to uint64_t, to avoid a dependency on >> > the host long size. Even better one could have uint32_t for the id plus >> > a flags value that for now would always be zero. > > I would prefer too, but that would break the protocol. Imho, this is a > seperate change, it doesn't make this patch less valid. Does anyone care about ivshmem on 32-bit hosts? Paolo
diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c index cc76989..fb53b3f 100644 --- a/hw/misc/ivshmem.c +++ b/hw/misc/ivshmem.c @@ -272,7 +272,7 @@ static void ivshmem_receive(void *opaque, const uint8_t *buf, int size) static int ivshmem_can_receive(void * opaque) { - return 8; + return sizeof(long); } static void ivshmem_event(void *opaque, int event)