[dpdk-dev] [PATCH] net/octeontx2: fix seg fault on running procinfo
Harman Kalra
hkalra at marvell.com
Mon May 25 10:51:06 CEST 2020
Segmentation fault has been observed while running procinfo
with reset options i.e. --stats-reset and --xstats-reset.
Reason is procinfo runs as a secondary process and tries to
hold a lock which is part of struct mdev, which was not
allocated as part of shared mememory.
Fixes: 5ca59711f771 ("common/octeontx2: add mailbox base support infra")
Cc: stable at dpdk.org
Signed-off-by: Harman Kalra <hkalra at marvell.com>
---
drivers/common/octeontx2/otx2_mbox.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/common/octeontx2/otx2_mbox.c b/drivers/common/octeontx2/otx2_mbox.c
index 2b7810929..6df1e8ea6 100644
--- a/drivers/common/octeontx2/otx2_mbox.c
+++ b/drivers/common/octeontx2/otx2_mbox.c
@@ -9,6 +9,7 @@
#include <rte_atomic.h>
#include <rte_cycles.h>
+#include <rte_malloc.h>
#include "otx2_mbox.h"
#include "otx2_dev.h"
@@ -36,7 +37,7 @@ otx2_mbox_fini(struct otx2_mbox *mbox)
{
mbox->reg_base = 0;
mbox->hwbase = 0;
- free(mbox->dev);
+ rte_free(mbox->dev);
mbox->dev = NULL;
}
@@ -128,7 +129,9 @@ otx2_mbox_init(struct otx2_mbox *mbox, uintptr_t hwbase, uintptr_t reg_base,
return -ENODEV;
}
- mbox->dev = malloc(ndevs * sizeof(struct otx2_mbox_dev));
+ mbox->dev = rte_zmalloc("mbox dev",
+ ndevs * sizeof(struct otx2_mbox_dev),
+ OTX2_ALIGN);
if (!mbox->dev) {
otx2_mbox_fini(mbox);
return -ENOMEM;
--
2.18.0
More information about the dev
mailing list