Comparison of eth_ft->ft with NULL is useless, because
get_flow_table() returns either pointer 'eth_ft'
such that eth_ft->ft != NULL, or an erroneous value that is
handled on return, causing mlx5e_ethtool_flow_replace()
to terminate before checking whether eth_ft->ft equals NULL.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Signed-off-by: Rustam Subkhankulov <[email protected]>
Fixes: 6dc6071cfcde ("net/mlx5e: Add ethtool flow steering support")
---
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c b/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
index ad0d234632a3..9466202fd97b 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
@@ -742,10 +742,7 @@ mlx5e_ethtool_flow_replace(struct mlx5e_priv *priv,
eth_rule->flow_spec = *fs;
eth_rule->eth_ft = eth_ft;
- if (!eth_ft->ft) {
- err = -EINVAL;
- goto del_ethtool_rule;
- }
+
rule = add_ethtool_flow_rule(priv, eth_rule, eth_ft->ft, fs, rss_context);
if (IS_ERR(rule)) {
err = PTR_ERR(rule);
--
2.25.1
On 11 Jul 12:33, Rustam Subkhankulov wrote:
>Comparison of eth_ft->ft with NULL is useless, because
>get_flow_table() returns either pointer 'eth_ft'
>such that eth_ft->ft != NULL, or an erroneous value that is
>handled on return, causing mlx5e_ethtool_flow_replace()
>to terminate before checking whether eth_ft->ft equals NULL.
>
>Found by Linux Verification Center (linuxtesting.org) with SVACE.
>
>Signed-off-by: Rustam Subkhankulov <[email protected]>
>Fixes: 6dc6071cfcde ("net/mlx5e: Add ethtool flow steering support")
Applied to net-next-mlx5 and removed the fixes tag. Since there is no bug
here.
Thanks,
Saeed.