Imported Upstream version 17.05.2
[deb_dpdk.git] / lib / librte_eal / common / rte_malloc.c
index 47deb00..5c0627b 100644 (file)
@@ -123,11 +123,7 @@ rte_malloc(const char *type, size_t size, unsigned align)
 void *
 rte_zmalloc_socket(const char *type, size_t size, unsigned align, int socket)
 {
-       void *ptr = rte_malloc_socket(type, size, align, socket);
-
-       if (ptr != NULL)
-               memset(ptr, 0, size);
-       return ptr;
+       return rte_malloc_socket(type, size, align, socket);
 }
 
 /*
@@ -257,6 +253,8 @@ rte_malloc_virt2phy(const void *addr)
 {
        const struct malloc_elem *elem = malloc_elem_from_data(addr);
        if (elem == NULL)
-               return 0;
+               return RTE_BAD_PHYS_ADDR;
+       if (elem->ms->phys_addr == RTE_BAD_PHYS_ADDR)
+               return RTE_BAD_PHYS_ADDR;
        return elem->ms->phys_addr + ((uintptr_t)addr - (uintptr_t)elem->ms->addr);
 }