patches for DPDK stable branches
 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:11 ` Konstantin Ananyev
  0 siblings, 1 reply; 2+ 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] 2+ messages in thread

* RE: [PATCH] examples/l3fwd: Fix core dump with multiple socket
  2024-07-03  7:50 [PATCH] examples/l3fwd: Fix core dump with multiple socket Kaiwen Deng
@ 2024-07-03 10:11 ` Konstantin Ananyev
  0 siblings, 0 replies; 2+ messages in thread
From: Konstantin Ananyev @ 2024-07-03 10:11 UTC (permalink / raw)
  To: Kaiwen Deng, dev; +Cc: stable, yidingx.zhou, 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);
> --

Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>
 
> 2.34.1


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

end of thread, other threads:[~2024-07-03 10:11 UTC | newest]

Thread overview: 2+ 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:11 ` Konstantin Ananyev

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).