Because mbuf dyn shared memory was allocated runtime, so it's
necessary to check validity when dump mbuf dyn info.
Also this patch adds an error logging when init shared memory fail.
Fixes:
4958ca3a443a ("mbuf: support dynamic fields and flags")
Cc: stable@dpdk.org
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
} 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;
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);