> >> -static void ivshmem_read(void *opaque, const uint8_t * buf, int flags)
> >> +static void ivshmem_read(void *opaque, const uint8_t * buf, int size)
> >>  {
> >>      IVShmemState *s = opaque;
> >>      int incoming_fd, tmp_fd;
> >>      int guest_max_eventfd;
> >>      long incoming_posn;
> >>
> >> +    if (size < sizeof(incoming_posn)) {
> >> +        IVSHMEM_DPRINTF("short read of %d bytes\n", size);
> >> +        return;
> >> +    }
> >> +
> > 
> > Looking at the qemu-chr API I'm not sure this is correct:
> > aren't we going to throw away data here? My guess is that we
> > need to save the half-a-word so we can use it when the
> > other half arrives in a subsequent call.

correct.

cheers,
  Gerd



Reply via email to