From: Tariq Toukan <tar...@mellanox.com> SKBs of TLS records might have empty zero-sized frags. Posting a DUMP WQE for such frag would result an error completion. Add in-driver resiliency and skip such frags.
Fixes: d2ead1f360e8 ("net/mlx5e: Add kTLS TX HW offload support") Signed-off-by: Tariq Toukan <tar...@mellanox.com> Reviewed-by: Boris Pismenny <bor...@mellanox.com> Signed-off-by: Saeed Mahameed <sae...@mellanox.com> --- drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c | 7 ++++++- 1 file changed, 6 insertions(+), 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 52a56622034a..a04fa23e1a53 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 @@ -232,9 +232,14 @@ tx_sync_info_get(struct mlx5e_ktls_offload_context_tx *priv_tx, remaining = info->sync_len; while (remaining > 0) { skb_frag_t *frag = &record->frags[i]; + unsigned int fsz; + + fsz = skb_frag_size(frag); + if (unlikely(!fsz)) + continue; get_page(skb_frag_page(frag)); - remaining -= skb_frag_size(frag); + remaining -= fsz; info->frags[i++] = *frag; } /* reduce the part which will be sent with the original SKB */ -- 2.25.4