libvhost-user: Don't zero out memory for memory regions
dev->nregions always covers only valid entries. Stop zeroing out other array elements that are unused. Reviewed-by: Raphael Norwitz <raphael@enfabrica.net> Acked-by: Stefano Garzarella <sgarzare@redhat.com> Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20240214151701.29906-8-david@redhat.com> Tested-by: Mario Casquero <mcasquer@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
4f865c3b15
commit
c6f90b7852
@ -888,13 +888,9 @@ vu_rem_mem_reg(VuDev *dev, VhostUserMsg *vmsg) {
|
|||||||
|
|
||||||
munmap((void *)(uintptr_t)r->mmap_addr, r->size + r->mmap_offset);
|
munmap((void *)(uintptr_t)r->mmap_addr, r->size + r->mmap_offset);
|
||||||
|
|
||||||
/*
|
/* Shift all affected entries by 1 to close the hole at index. */
|
||||||
* Shift all affected entries by 1 to close the hole at index i and
|
|
||||||
* zero out the last entry.
|
|
||||||
*/
|
|
||||||
memmove(dev->regions + i, dev->regions + i + 1,
|
memmove(dev->regions + i, dev->regions + i + 1,
|
||||||
sizeof(VuDevRegion) * (dev->nregions - i - 1));
|
sizeof(VuDevRegion) * (dev->nregions - i - 1));
|
||||||
memset(dev->regions + dev->nregions - 1, 0, sizeof(VuDevRegion));
|
|
||||||
DPRINT("Successfully removed a region\n");
|
DPRINT("Successfully removed a region\n");
|
||||||
dev->nregions--;
|
dev->nregions--;
|
||||||
i--;
|
i--;
|
||||||
@ -2119,7 +2115,6 @@ vu_init(VuDev *dev,
|
|||||||
DPRINT("%s: failed to malloc mem regions\n", __func__);
|
DPRINT("%s: failed to malloc mem regions\n", __func__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
memset(dev->regions, 0, VHOST_USER_MAX_RAM_SLOTS * sizeof(dev->regions[0]));
|
|
||||||
|
|
||||||
dev->vq = malloc(max_queues * sizeof(dev->vq[0]));
|
dev->vq = malloc(max_queues * sizeof(dev->vq[0]));
|
||||||
if (!dev->vq) {
|
if (!dev->vq) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user