DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] examples/l3fwd: Fix core dump with multiple socket
@ 2024-07-03  7:50 Kaiwen Deng
  2024-07-03 10:09 ` Li, HongboX
  2024-07-03 10:11 ` Konstantin Ananyev
  0 siblings, 2 replies; 4+ messages in thread
From: Kaiwen Deng @ 2024-07-03  7:50 UTC (permalink / raw)
  To: dev; +Cc: stable, yidingx.zhou, Kaiwen Deng, Sean Morrissey

Setting acl will clear the acl config of other sockets, which
will result in core dump.

This commit will no longer clear the acl config when setting acl.

Fixes: 6de0ea50e9b9 ("examples/l3fwd: merge l3fwd-acl example")
Cc: stable@dpdk.org

Signed-off-by: Kaiwen Deng <kaiwenx.deng@intel.com>
---
 examples/l3fwd/l3fwd_acl.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/examples/l3fwd/l3fwd_acl.c b/examples/l3fwd/l3fwd_acl.c
index 401692bcec..c8958f59fc 100644
--- a/examples/l3fwd/l3fwd_acl.c
+++ b/examples/l3fwd/l3fwd_acl.c
@@ -962,8 +962,6 @@ setup_acl(const int socket_id)
 	acl_log("IPv6 ACL entries %u:\n", acl_num_ipv6);
 	dump_ipv6_rules((struct acl6_rule *)acl_base_ipv6, acl_num_ipv6, 1);
 
-	memset(&acl_config, 0, sizeof(acl_config));
-
 	/* Check sockets a context should be created on */
 	if (socket_id >= NB_SOCKETS) {
 		acl_log("Socket %d is out "
@@ -973,6 +971,9 @@ setup_acl(const int socket_id)
 		return;
 	}
 
+	rte_acl_free(acl_config.acx_ipv4[socket_id]);
+	rte_acl_free(acl_config.acx_ipv6[socket_id]);
+
 	acl_config.acx_ipv4[socket_id] = app_acl_init(route_base_ipv4,
 		acl_base_ipv4, route_num_ipv4, acl_num_ipv4,
 		0, socket_id);
-- 
2.34.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-07-23 16:09 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-07-03  7:50 [PATCH] examples/l3fwd: Fix core dump with multiple socket Kaiwen Deng
2024-07-03 10:09 ` Li, HongboX
2024-07-03 10:11 ` Konstantin Ananyev
2024-07-23 16:09   ` Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).