Re: [dpdk-dev] [PATCH v2] common/octeontx2: fix seg fault on running procinfo
From: Jerin Jacob <hidden>
Date: 2020-06-30 10:44:31
On Mon, Jun 29, 2020 at 6:56 PM Harman Kalra [off-list ref] wrote:
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 memory.
Fixes: 5ca59711f771 ("common/octeontx2: add mailbox base support infra")
Cc: stable@dpdk.org
Signed-off-by: Harman Kalra <redacted>Acked-by: Jerin Jacob <redacted> Delegated this patch to Thomas as it belongs to common/
quoted hunk ↗ jump to hunk
--- *V2: Minor corrections in commit message. 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