[PATCH] examples/l3fwd: Fix core dump with multiple socket

Konstantin Ananyev konstantin.ananyev at huawei.com
Wed Jul 3 12:11:05 CEST 2024



> 
> 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 at dpdk.org
> 
> Signed-off-by: Kaiwen Deng <kaiwenx.deng at 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 at huawei.com>
 
> 2.34.1



More information about the dev mailing list