Do not unmap uninitialized dma addresses.

Fixes: CVE-2021-3608
Reviewed-by: VictorV (Kunlun Lab) <vv474172...@gmail.com>
Tested-by: VictorV (Kunlun Lab) <vv474172...@gmail.com>
Signed-off-by: Marcel Apfelbaum <mar...@redhat.com>
Message-Id: <20210630115246.2178219-1-mar...@redhat.com>
Tested-by: Yuval Shaia <yuval.shaia...@gmail.com>
Reviewed-by: Yuval Shaia <yuval.shaia...@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com>
Signed-off-by: Marcel Apfelbaum <marcel.apfelb...@gmail.com>
---
 hw/rdma/vmw/pvrdma_dev_ring.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/rdma/vmw/pvrdma_dev_ring.c b/hw/rdma/vmw/pvrdma_dev_ring.c
index 074ac59b84..42130667a7 100644
--- a/hw/rdma/vmw/pvrdma_dev_ring.c
+++ b/hw/rdma/vmw/pvrdma_dev_ring.c
@@ -41,7 +41,7 @@ int pvrdma_ring_init(PvrdmaRing *ring, const char *name, 
PCIDevice *dev,
     qatomic_set(&ring->ring_state->cons_head, 0);
     */
     ring->npages = npages;
-    ring->pages = g_malloc(npages * sizeof(void *));
+    ring->pages = g_malloc0(npages * sizeof(void *));

     for (i = 0; i < npages; i++) {
         if (!tbl[i]) {
-- 
2.17.2


Reply via email to