ivshmem: Simplify rejection of invalid peer ID from server
commitcd9953f720e1d57cfa86bc0882abced45ba96d3c
authorMarkus Armbruster <armbru@redhat.com>
Tue, 15 Mar 2016 18:34:37 +0000 (15 19:34 +0100)
committerMarkus Armbruster <armbru@redhat.com>
Mon, 21 Mar 2016 20:29:01 +0000 (21 21:29 +0100)
tree55885299fe7e5660af31fb9ded7168c264de74d2
parent3c27969b3e7397bb63f363fc8b8bc0e601542d76
ivshmem: Simplify rejection of invalid peer ID from server

ivshmem_read() processes server messages.  These are 64 bit signed
integers.  -1 is shared memory setup, 16 bit unsigned is a peer ID,
anything else is invalid.

ivshmem_read() rejects invalid negative messages right away, silently.

Invalid positive messages get rejected only in resize_peers(), and
ivshmem_read() then prints the rather cryptic message "failed to
resize peers array".

Extend the first check to cover all invalid messages, make it report
"server sent invalid message", and drop the second check.

Now resize_peers() can't fail anymore; simplify.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <1458066895-20632-23-git-send-email-armbru@redhat.com>
hw/misc/ivshmem.c