diff options
| author | Peter Maydell <peter.maydell@linaro.org> | 2017-10-11 13:10:36 +0100 |
|---|---|---|
| committer | Peter Maydell <peter.maydell@linaro.org> | 2017-10-11 13:10:36 +0100 |
| commit | bac960832015bf4c4c1b873011612e2675e4464c (patch) | |
| tree | 6b29e22c8a468f11d6ddded18d6c33750eb1be7b /contrib/libvhost-user/libvhost-user.c | |
| parent | e74c0cfa57323e5806894c65086f411112168820 (diff) | |
| parent | 53a2e1b523e9015423583e431f4229a0ad35e6cd (diff) | |
| download | focaccia-qemu-bac960832015bf4c4c1b873011612e2675e4464c.tar.gz focaccia-qemu-bac960832015bf4c4c1b873011612e2675e4464c.zip | |
Merge remote-tracking branch 'remotes/elmarco/tags/vus-pull-request' into staging
# gpg: Signature made Tue 10 Oct 2017 22:33:56 BST # gpg: using RSA key 0xDAE8E10975969CE5 # gpg: Good signature from "Marc-André Lureau <marcandre.lureau@redhat.com>" # gpg: aka "Marc-André Lureau <marcandre.lureau@gmail.com>" # gpg: WARNING: This key is not certified with sufficiently trusted signatures! # gpg: It is not certain that the signature belongs to the owner. # Primary key fingerprint: 87A9 BD93 3F87 C606 D276 F62D DAE8 E109 7596 9CE5 * remotes/elmarco/tags/vus-pull-request: (27 commits) vhost-user-scsi: remove server_sock from VusDev vhost-user-scsi: use libvhost-user glib helper libvhost-user: add glib source helper vhost-user-scsi: use glib logging vhost-user-scsi: simplify source handling vhost-user-scsi: drop extra callback pointer vhost-user-scsi: don't copy iscsi/scsi-lowlevel.h vhost-user-scsi: avoid use of iscsi_ namespace vhost-user-scsi: rename VUS types vhost-user-scsi: remove unimplemented functions vhost-user-scsi: remove VUS_MAX_LUNS vhost-user-scsi: remove vdev_scsi_add_iscsi_lun() vhost-user-scsi: assert() in iscsi_add_lun() vhost-user-scsi: use NULL pointer vhost-user-scsi: simplify unix path cleanup vhost-user-scsi: remove vdev_scsi_find_by_vu() vhost-user-scsi: also free the gtree vhost-user-scsi: glib calls that allocate don't return NULL vhost-user-scsi: use glib allocation vhost-user-scsi: code style fixes ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'contrib/libvhost-user/libvhost-user.c')
| -rw-r--r-- | contrib/libvhost-user/libvhost-user.c | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/contrib/libvhost-user/libvhost-user.c b/contrib/libvhost-user/libvhost-user.c index d27d6303db..a0e0da4ccb 100644 --- a/contrib/libvhost-user/libvhost-user.c +++ b/contrib/libvhost-user/libvhost-user.c @@ -13,14 +13,35 @@ * later. See the COPYING file in the top-level directory. */ -#include <qemu/osdep.h> +/* this code avoids GLib dependency */ +#include <stdlib.h> +#include <stdio.h> +#include <unistd.h> +#include <stdarg.h> +#include <errno.h> +#include <string.h> +#include <assert.h> +#include <inttypes.h> +#include <sys/types.h> +#include <sys/socket.h> #include <sys/eventfd.h> +#include <sys/mman.h> #include <linux/vhost.h> +#include "qemu/compiler.h" #include "qemu/atomic.h" #include "libvhost-user.h" +/* usually provided by GLib */ +#ifndef MIN +#define MIN(x, y) ({ \ + typeof(x) _min1 = (x); \ + typeof(y) _min2 = (y); \ + (void) (&_min1 == &_min2); \ + _min1 < _min2 ? _min1 : _min2; }) +#endif + #define VHOST_USER_HDR_SIZE offsetof(VhostUserMsg, payload.u64) /* The version of the protocol we support */ @@ -81,7 +102,9 @@ vu_panic(VuDev *dev, const char *msg, ...) va_list ap; va_start(ap, msg); - buf = g_strdup_vprintf(msg, ap); + if (vasprintf(&buf, msg, ap) < 0) { + buf = NULL; + } va_end(ap); dev->broken = true; @@ -853,7 +876,7 @@ vu_dispatch(VuDev *dev) success = true; end: - g_free(vmsg.data); + free(vmsg.data); return success; } |