Hi Suanming,

> -----Original Message-----
> From: Suanming Mou <suanmi...@nvidia.com>
> Sent: Friday, May 26, 2023 6:18 AM
> 
> As indirect action conf fills the indirect action handler, while
> converting indirect action, the action conf(action handler) should
> be copied from original indirect action conf instead of duplicating
> the action handler memory.
> 
> Fixes: 4b61b8774be9 ("ethdev: introduce indirect flow action")
> 
> Signed-off-by: Suanming Mou <suanmi...@nvidia.com>
> ---
>  lib/ethdev/rte_flow.c | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/ethdev/rte_flow.c b/lib/ethdev/rte_flow.c
> index 69e6e749f7..ff740f19a4 100644
> --- a/lib/ethdev/rte_flow.c
> +++ b/lib/ethdev/rte_flow.c
> @@ -889,7 +889,15 @@ rte_flow_conv_actions(struct rte_flow_action *dst,
>       src -= num;
>       dst -= num;
>       do {
> -             if (src->conf) {
> +             if (src->type == RTE_FLOW_ACTION_TYPE_INDIRECT) {
> +                     /*
> +                      * Indirect action conf fills the indirect action
> +                      * handler. Copy the action handle directly instead
> +                      * of duplicating the pointer memory.
> +                      */
> +                     if (size)
> +                             dst->conf = src->conf;
> +             } else if (src->conf) {
>                       off = RTE_ALIGN_CEIL(off, sizeof(double));
>                       ret = rte_flow_conv_action_conf
>                               ((void *)(data + off),
> --
> 2.25.1

Acked-by: Ori Kam <or...@nvidia.com>
Best,
Ori

Reply via email to