Patch "net/mlx5e: Fix wrong tc flag used when set hw-tc-offload off" has been added to the 5.19-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    net/mlx5e: Fix wrong tc flag used when set hw-tc-offload off

to the 5.19-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     net-mlx5e-fix-wrong-tc-flag-used-when-set-hw-tc-offl.patch
and it can be found in the queue-5.19 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit fce3eed2b49880a2c75f915d27bccbfc472d07d6
Author: Maor Dickman <maord@xxxxxxxxxx>
Date:   Thu Aug 4 15:28:42 2022 +0300

    net/mlx5e: Fix wrong tc flag used when set hw-tc-offload off
    
    [ Upstream commit 550f96432e6f6770efdaee0e65239d61431062a1 ]
    
    The cited commit reintroduced the ability to set hw-tc-offload
    in switchdev mode by reusing NIC mode calls without modifying it
    to support both modes, this can cause an illegal memory access
    when trying to turn hw-tc-offload off.
    
    Fix this by using the right TC_FLAG when checking if tc rules
    are installed while disabling hw-tc-offload.
    
    Fixes: d3cbd4254df8 ("net/mlx5e: Add ndo_set_feature for uplink representor")
    Signed-off-by: Maor Dickman <maord@xxxxxxxxxx>
    Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
index 62aab20025345..9e6db779b6efa 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
@@ -3678,7 +3678,9 @@ static int set_feature_hw_tc(struct net_device *netdev, bool enable)
 	struct mlx5e_priv *priv = netdev_priv(netdev);
 
 #if IS_ENABLED(CONFIG_MLX5_CLS_ACT)
-	if (!enable && mlx5e_tc_num_filters(priv, MLX5_TC_FLAG(NIC_OFFLOAD))) {
+	int tc_flag = mlx5e_is_uplink_rep(priv) ? MLX5_TC_FLAG(ESW_OFFLOAD) :
+						  MLX5_TC_FLAG(NIC_OFFLOAD);
+	if (!enable && mlx5e_tc_num_filters(priv, tc_flag)) {
 		netdev_err(netdev,
 			   "Active offloaded tc filters, can't turn hw_tc_offload off\n");
 		return -EINVAL;



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux