From: Vlad Buslov <vla...@mellanox.com>
Date: Thu, 23 May 2019 09:32:31 +0300

> Function tcf_action_dump() relies on tc_action->order field when starting
> nested nla to send action data to userspace. This approach breaks in
> several cases:
> 
> - When multiple filters point to same shared action, tc_action->order field
>   is overwritten each time it is attached to filter. This causes filter
>   dump to output action with incorrect attribute for all filters that have
>   the action in different position (different order) from the last set
>   tc_action->order value.
> 
> - When action data is displayed using tc action API (RTM_GETACTION), action
>   order is overwritten by tca_action_gd() according to its position in
>   resulting array of nl attributes, which will break filter dump for all
>   filters attached to that shared action that expect it to have different
>   order value.
> 
> Don't rely on tc_action->order when dumping actions. Set nla according to
> action position in resulting array of actions instead.
> 
> Signed-off-by: Vlad Buslov <vla...@mellanox.com>
> Acked-by: Jamal Hadi Salim <j...@mojatatu.com>

Applied and queued up for -stable.

Reply via email to