]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Jun 2025 12:40:15 +0000 (14:40 +0200)
[ Upstream commit 95b9606b15bb3ce1198d28d2393dd0e1f0a5f3e9 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/en_selftest.c

index 08a75654f5f188ca96a04c3920416e3c9b0eab5f..c170503b3aace1fc60788488b7a2b7e99959a435 100644 (file)
@@ -165,6 +165,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;