net/mlx5e: Fix possible modify header actions memory leak
The cited commit could disable the modify header flag, but did not free the allocated memory for the modify header actions. Fix it. Fixes: 27c11b6b844cd ("net/mlx5e: Do not rewrite fields with the same match") Signed-off-by: Eli Britstein <elibr@mellanox.com> Reviewed-by: Roi Dayan <roid@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
This commit is contained in:
parent
2ef86872d9
commit
e7739a6071
@ -2567,8 +2567,10 @@ static int parse_tc_nic_actions(struct mlx5e_priv *priv,
|
|||||||
/* in case all pedit actions are skipped, remove the MOD_HDR
|
/* in case all pedit actions are skipped, remove the MOD_HDR
|
||||||
* flag.
|
* flag.
|
||||||
*/
|
*/
|
||||||
if (parse_attr->num_mod_hdr_actions == 0)
|
if (parse_attr->num_mod_hdr_actions == 0) {
|
||||||
action &= ~MLX5_FLOW_CONTEXT_ACTION_MOD_HDR;
|
action &= ~MLX5_FLOW_CONTEXT_ACTION_MOD_HDR;
|
||||||
|
kfree(parse_attr->mod_hdr_actions);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
attr->action = action;
|
attr->action = action;
|
||||||
@ -3005,6 +3007,7 @@ static int parse_tc_fdb_actions(struct mlx5e_priv *priv,
|
|||||||
*/
|
*/
|
||||||
if (parse_attr->num_mod_hdr_actions == 0) {
|
if (parse_attr->num_mod_hdr_actions == 0) {
|
||||||
action &= ~MLX5_FLOW_CONTEXT_ACTION_MOD_HDR;
|
action &= ~MLX5_FLOW_CONTEXT_ACTION_MOD_HDR;
|
||||||
|
kfree(parse_attr->mod_hdr_actions);
|
||||||
if (!((action & MLX5_FLOW_CONTEXT_ACTION_VLAN_POP) ||
|
if (!((action & MLX5_FLOW_CONTEXT_ACTION_VLAN_POP) ||
|
||||||
(action & MLX5_FLOW_CONTEXT_ACTION_VLAN_PUSH)))
|
(action & MLX5_FLOW_CONTEXT_ACTION_VLAN_PUSH)))
|
||||||
attr->split_count = 0;
|
attr->split_count = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user