On Tue, 27 Oct 2026 09:50:10 +0000
Anatoly Burakov <[email protected]> wrote:
> RTE_FLOW_ACTION_TYPE_SHARED, RTE_FLOW_ACTION_TYPE_METER_COLOR and
> RTE_FLOW_ACTION_TYPE_SKIP_CMAN were never added to
> rte_flow_desc_action[]. The table uses designated initializers, so
> these slots are zero filled: their name is NULL and their size is
> zero.
>
> As a result, RTE_FLOW_CONV_OP_ACTION_NAME on any of them passes a
> NULL source to strlcpy(), and rte_flow_copy() as well as the action
> conversion operations reject any action list containing one of them
> as an unknown action type.
>
> Add the missing descriptor entries. Preserve the deprecated SHARED
> action handle directly, as for INDIRECT, instead of treating it as
> configuration data to copy into the destination buffer.
>
> Fixes: 4d9fd85fb545 ("ethdev: add shared actions to flow API")
> Fixes: 5f0d54f372f0 ("ethdev: add pre-defined meter policy API")
> Fixes: 6807e8b52a18 ("ethdev: skip congestion management configuration")
> Cc: [email protected]
>
> Signed-off-by: Anatoly Burakov <[email protected]>
> ---
Applied to next-net.
AI saw some sequencing issue here which might make backport harder.
Subject: Re: [PATCH v4 0/6] ethdev: flow conversion fixes
v4 addresses the v3 feedback. SHARED handles are now preserved
alongside INDIRECT (3/6), the INDIRECT/SHARED conf write is bounded
by the destination entry (4/6), and the new truncated-buffer test
walks every size from 0 to the needed length, checking for writes
past the end. Series applies cleanly to main and each commit
builds with -Dwerror=true. Fixes: tags resolve correctly.
[PATCH v4 3/6] ethdev: fix missing flow action descriptors
[PATCH v4 4/6] ethdev: fix indirect action conversion with short buffer
Info: consider swapping these two.
3/6 sends SHARED through the INDIRECT branch while that write is
still unbounded, and 4/6 then fixes it. Both are marked for stable,
so a backport of 3/6 without 4/6 opens the overflow for SHARED as
well. If 4/6 goes first it applies on its own, and 3/6 then simply
extends an already-correct branch. The SHARED sentence in the 4/6
commit message would then move to 3/6.
Not a blocker.
Reviewed-by: Stephen Hemminger <[email protected]>