rte_vhost: fix numa_realloc() copy size

The rte_malloc_socket() call just above that allocates vq is only
allocating sizeof(*vq), but the memcpy() would have tried to copy
sizeof(*vq) * 2.

This code is under #ifdef RTE_LIBRTE_VHOST_NUMA, so it was not normally
enabled with DPDK 17.05, but it breaks when DPDK 17.08 turns on libnuma
support by default.

Change-Id: I020eb610d7e94c3346c25957722f4d9f1ecd370f
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/377631
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Daniel Verkamp 2017-09-07 09:56:28 -07:00
parent 4d1908e004
commit 50b4e54fd5

View File

@ -275,7 +275,7 @@ numa_realloc(struct virtio_net *dev, int index)
if (!vq) if (!vq)
return dev; return dev;
memcpy(vq, old_vq, sizeof(*vq) * VIRTIO_QNUM); memcpy(vq, old_vq, sizeof(*vq));
rte_free(old_vq); rte_free(old_vq);
} }