mbuf: check shared memory before dumping dynamic space
[dpdk.git] / lib / mbuf / rte_mbuf_dyn.c
index 7d5e942..ca46eb2 100644 (file)
@@ -115,8 +115,10 @@ init_shared_mem(void)
        } else {
                mz = rte_memzone_lookup(RTE_MBUF_DYN_MZNAME);
        }
-       if (mz == NULL)
+       if (mz == NULL) {
+               RTE_LOG(ERR, MBUF, "Failed to get mbuf dyn shared memory\n");
                return -1;
+       }
 
        shm = mz->addr;
 
@@ -525,7 +527,11 @@ void rte_mbuf_dyn_dump(FILE *out)
        size_t i;
 
        rte_mcfg_tailq_write_lock();
-       init_shared_mem();
+       if (init_shared_mem() < 0) {
+               rte_mcfg_tailq_write_unlock();
+               return;
+       }
+
        fprintf(out, "Reserved fields:\n");
        mbuf_dynfield_list = RTE_TAILQ_CAST(
                mbuf_dynfield_tailq.head, mbuf_dynfield_list);