]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
net/mlx5: Geneve, Fix handling of Geneve object id as error code
authorMaor Dickman <maord@nvidia.com>
Wed, 8 Feb 2023 15:44:06 +0000 (17:44 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 11 Mar 2023 12:55:27 +0000 (13:55 +0100)
[ Upstream commit d28a06d7dbedc598a06bd1e53a28125f87ca5d0c ]

On success, mlx5_geneve_tlv_option_create returns non negative
Geneve object id. In case the object id is positive value the
caller functions will handle it as an error (non zero) and
will fail to offload the Geneve rule.

Fix this by changing caller function ,mlx5_geneve_tlv_option_add,
to return 0 in case valid non negative object id was provided.

Fixes: 0ccc171ea6a2 ("net/mlx5: Geneve, Manage Geneve TLV options")
Signed-off-by: Maor Dickman <maord@nvidia.com>
Reviewed-by: Raed Salem <raeds@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/lib/geneve.c

index 23361a9ae4fa0c77af9e7e34d05058b64a368556..6dc83e871cd76b2c4bfc4abd5afc2cf36bcdd3d0 100644 (file)
@@ -105,6 +105,7 @@ int mlx5_geneve_tlv_option_add(struct mlx5_geneve *geneve, struct geneve_opt *op
                geneve->opt_type = opt->type;
                geneve->obj_id = res;
                geneve->refcount++;
+               res = 0;
        }
 
 unlock: