From 22077b210b0af8da5db5b2cd5d4f28827b6d4bbb Mon Sep 17 00:00:00 2001 From: Daniel Verkamp Date: Tue, 24 Oct 2017 12:21:02 -0700 Subject: [PATCH] rte_virtio: use size_t/ssize_t in vhost_user_read Use the correct size types (rather than int) for values passed to and returned from recv(). Change-Id: I2d38eed63e2d9c9f056d1053e156088fd361c88b Signed-off-by: Daniel Verkamp Reviewed-on: https://review.gerrithub.io/383645 Tested-by: SPDK Automated Test System Reviewed-by: Jim Harris Reviewed-by: Dariusz Stojaczyk --- lib/bdev/virtio/rte_virtio/virtio_user/vhost_user.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/bdev/virtio/rte_virtio/virtio_user/vhost_user.c b/lib/bdev/virtio/rte_virtio/virtio_user/vhost_user.c index efabfa994..0e75d7b31 100644 --- a/lib/bdev/virtio/rte_virtio/virtio_user/vhost_user.c +++ b/lib/bdev/virtio/rte_virtio/virtio_user/vhost_user.c @@ -113,11 +113,12 @@ static int vhost_user_read(int fd, struct vhost_user_msg *msg) { uint32_t valid_flags = VHOST_USER_REPLY_MASK | VHOST_USER_VERSION; - int ret, sz_hdr = VHOST_USER_HDR_SIZE, sz_payload; + ssize_t ret; + size_t sz_hdr = VHOST_USER_HDR_SIZE, sz_payload; ret = recv(fd, (void *)msg, sz_hdr, 0); - if (ret < sz_hdr) { - SPDK_WARNLOG("Failed to recv msg hdr: %d instead of %d.\n", + if ((size_t)ret != sz_hdr) { + SPDK_WARNLOG("Failed to recv msg hdr: %zd instead of %zu.\n", ret, sz_hdr); goto fail; } @@ -132,8 +133,8 @@ vhost_user_read(int fd, struct vhost_user_msg *msg) sz_payload = msg->size; if (sz_payload) { ret = recv(fd, (void *)((char *)msg + sz_hdr), sz_payload, 0); - if (ret < sz_payload) { - SPDK_WARNLOG("Failed to recv msg payload: %d instead of %"PRIu32".\n", + if ((size_t)ret != sz_payload) { + SPDK_WARNLOG("Failed to recv msg payload: %zd instead of %"PRIu32".\n", ret, msg->size); goto fail; }