From: Tariq Toukan <[email protected]>
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 <[email protected]>
Reviewed-by: Boris Pismenny <[email protected]>
Signed-off-by: Saeed Mahameed <[email protected]>
---
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