lkml.org 
[lkml]   [2018]   [Mar]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.15 069/122] net/mlx5e: Verify inline header size do not exceed SKB linear size
    Date
    4.15-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Eran Ben Elisha <eranbe@mellanox.com>


    [ Upstream commit f600c6088018d1dbc5777d18daa83660f7ea4a64 ]

    Driver tries to copy at least MLX5E_MIN_INLINE bytes into the control
    segment of the WQE. It assumes that the linear part contains at least
    MLX5E_MIN_INLINE bytes, which can be wrong.

    Cited commit verified that driver will not copy more bytes into the
    inline header part that the actual size of the packet. Re-factor this
    check to make sure we do not exceed the linear part as well.

    This fix is aligned with the current driver's assumption that the entire
    L2 will be present in the linear part of the SKB.

    Fixes: 6aace17e64f4 ("net/mlx5e: Fix inline header size for small packets")
    Signed-off-by: Eran Ben Elisha <eranbe@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/ethernet/mellanox/mlx5/core/en_tx.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
    +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
    @@ -176,7 +176,7 @@ static inline u16 mlx5e_calc_min_inline(
    default:
    hlen = mlx5e_skb_l2_header_offset(skb);
    }
    - return min_t(u16, hlen, skb->len);
    + return min_t(u16, hlen, skb_headlen(skb));
    }

    static inline void mlx5e_tx_skb_pull_inline(unsigned char **skb_data,

    \
     
     \ /
      Last update: 2018-03-07 21:38    [W:4.158 / U:1.172 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site