]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net/mlx5: Extend Ethtool loopback selftest to support non-linear SKB
authorAlexei Lazar <alazar@nvidia.com>
Sun, 9 Feb 2025 10:17:15 +0000 (12:17 +0200)
committerJakub Kicinski <kuba@kernel.org>
Wed, 12 Feb 2025 18:46:17 +0000 (10:46 -0800)
Current loopback test validation ignores non-linear SKB case in
the SKB access, which can lead to failures in scenarios such as
when HW GRO is enabled.
Linearize the SKB so both cases will be handled.

Signed-off-by: Alexei Lazar <alazar@nvidia.com>
Reviewed-by: Dragos Tatulea <dtatulea@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://patch.msgid.link/20250209101716.112774-15-tariqt@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/en_selftest.c

index 1d60465cc2ca4fdc0d849eaec5ce0ad7c145f529..2f7a543feca6236d40e52c2ae464ed0ecfa50fe4 100644 (file)
@@ -166,6 +166,9 @@ mlx5e_test_loopback_validate(struct sk_buff *skb,
        struct udphdr *udph;
        struct iphdr *iph;
 
+       if (skb_linearize(skb))
+               goto out;
+
        /* We are only going to peek, no need to clone the SKB */
        if (MLX5E_TEST_PKT_SIZE - ETH_HLEN > skb_headlen(skb))
                goto out;