net/mlx5: DR, Fix potential race in dr_rule_create_rule_nic
authorYevgeny Kliteynik <kliteyn@nvidia.com>
Tue, 17 Jan 2023 15:34:20 +0000 (17:34 +0200)
committerSaeed Mahameed <saeedm@nvidia.com>
Wed, 8 Feb 2023 03:01:04 +0000 (19:01 -0800)
commit288d85e07fbca5ee35882a4884dd701e43637be1
treef7101f060eab2e337dba50d1ef9ff76b65116ce1
parent1e66220948df815d7b37e0ff8b4627ce10433738
net/mlx5: DR, Fix potential race in dr_rule_create_rule_nic

Selecting builder should be protected by the lock to prevent the case
where a new rule sets a builder in the nic_matcher while the previous
rule is still using the nic_matcher.

Fixing this issue and cleaning the error flow.

Fixes: b9b81e1e9382 ("net/mlx5: DR, For short chains of STEs, avoid allocating ste_arr dynamically")
Signed-off-by: Yevgeny Kliteynik <kliteyn@nvidia.com>
Reviewed-by: Alex Vesker <valex@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c