lkml.org 
[lkml]   [2020]   [Apr]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 11/36] net/mlx5e: kTLS, Fix TCP seq off-by-1 issue in TX resync flow
    Date
    From: Tariq Toukan <tariqt@mellanox.com>

    [ Upstream commit 56917766def72f5afdf4235adb91b6897ff26d9d ]

    We have an off-by-1 issue in the TCP seq comparison.
    The last sequence number that belongs to the TCP packet's payload
    is not "start_seq + len", but one byte before it.
    Fix it so the 'ends_before' is evaluated properly.

    This fixes a bug that results in error completions in the
    kTLS HW offload flows.

    Fixes: ffbd9ca94e2e ("net/mlx5e: kTLS, Fix corner-case checks in TX resync flow")
    Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
    Reviewed-by: Boris Pismenny <borisp@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c
    index f260dd96873bf..52a56622034a0 100644
    --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c
    +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c
    @@ -218,7 +218,7 @@ tx_sync_info_get(struct mlx5e_ktls_offload_context_tx *priv_tx,
    * this packet was already acknowledged and its record info
    * was released.
    */
    - ends_before = before(tcp_seq + datalen, tls_record_start_seq(record));
    + ends_before = before(tcp_seq + datalen - 1, tls_record_start_seq(record));

    if (unlikely(tls_record_is_start_marker(record))) {
    ret = ends_before ? MLX5E_KTLS_SYNC_SKIP_NO_DATA : MLX5E_KTLS_SYNC_FAIL;
    --
    2.20.1


    \
     
     \ /
      Last update: 2020-04-07 12:29    [W:4.054 / U:0.304 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site