On Fri, Jul 19, 2019 at 06:52:24PM +0000, Oleinik, Alexander wrote: > Virtual devices should not try to send zero-sized packets. The caller > should check the size prior to calling qemu_sendv_packet_async. > > Signed-off-by: Alexander Oleinik <alx...@bu.edu> > --- > net/net.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/net/net.c b/net/net.c > index 7d4098254f..fad20bc611 100644 > --- a/net/net.c > +++ b/net/net.c > @@ -741,6 +741,9 @@ ssize_t qemu_sendv_packet_async(NetClientState *sender, > size_t size = iov_size(iov, iovcnt); > int ret; > > + /* 0-sized packets are unsupported. Check size in the caller */ > + assert(size);
Please include the rationale: A return value of 0 means the packet has been queued and will be sent asynchronously. Therefore this function has no way of reporting that a 0-sized packet has been sent successfully. Forbid it for now and if someone needs this functionality then the API will require a change. This way someone who hits this will understand why the assertion is there. Stefan
signature.asc
Description: PGP signature