[PATCH v2] eal: cleanup alarm and multiprocess hotplug before memory detach
Fengnan Chang
changfengnan at bytedance.com
Wed Dec 21 04:41:52 CET 2022
Alarm and multiprocess hotplug still need access hugepage memory,
if alarm event processed after memory detach, it may cause SEGV.
So cleanup alarm and multiprocess hotplug before memory detach.
Fixes: 90b13ab8d4f7 ("alarm: remove direct access to interrupt handle")
Fixes: a0cc7be20dd1 ("mem: cleanup multiprocess resources")
Signed-off-by: Fengnan Chang <changfengnan at bytedance.com>
---
lib/eal/freebsd/eal.c | 2 +-
lib/eal/linux/eal.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/eal/freebsd/eal.c b/lib/eal/freebsd/eal.c
index 1b58cd3da6..83b99c601f 100644
--- a/lib/eal/freebsd/eal.c
+++ b/lib/eal/freebsd/eal.c
@@ -897,9 +897,9 @@ rte_eal_cleanup(void)
eal_bus_cleanup();
rte_trace_save();
eal_trace_fini();
+ rte_eal_alarm_cleanup();
/* after this point, any DPDK pointers will become dangling */
rte_eal_memory_detach();
- rte_eal_alarm_cleanup();
eal_cleanup_config(internal_conf);
return 0;
}
diff --git a/lib/eal/linux/eal.c b/lib/eal/linux/eal.c
index 8c118d0d9f..c76f026023 100644
--- a/lib/eal/linux/eal.c
+++ b/lib/eal/linux/eal.c
@@ -1372,11 +1372,11 @@ rte_eal_cleanup(void)
eal_bus_cleanup();
rte_trace_save();
eal_trace_fini();
+ eal_mp_dev_hotplug_cleanup();
+ rte_eal_alarm_cleanup();
/* after this point, any DPDK pointers will become dangling */
rte_eal_memory_detach();
- eal_mp_dev_hotplug_cleanup();
rte_eal_malloc_heap_cleanup();
- rte_eal_alarm_cleanup();
eal_cleanup_config(internal_conf);
rte_eal_log_cleanup();
return 0;
--
2.37.0 (Apple Git-136)
More information about the dev
mailing list