Re: [PATCH] net: geneve: modify IP header check in geneve6_xmit_skb

From: Eric Dumazet
Date: Thu Apr 22 2021 - 02:44:20 EST


On Thu, Apr 22, 2021 at 1:11 AM Phillip Potter <phil@xxxxxxxxxxxxxxxx> wrote:
>
> Modify the check in geneve6_xmit_skb to use the size of a struct iphdr
> rather than struct ipv6hdr. This fixes two kernel selftest failures
> introduced by commit 6628ddfec758
> ("net: geneve: check skb is large enough for IPv4/IPv6 header"), without
> diminishing the fix provided by that commit.
>
> Reported-by: kernel test robot <oliver.sang@xxxxxxxxx>
> Signed-off-by: Phillip Potter <phil@xxxxxxxxxxxxxxxx>

SGTM, but _please_ add a Fixes: tag, since stable teams now depend on this,
more than human parsing the changelog.

Fixes: 6628ddfec758 ("net: geneve: check skb is large enough for
IPv4/IPv6 header")

> ---
> drivers/net/geneve.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c
> index 42f31c681846..a57a5e6f614f 100644
> --- a/drivers/net/geneve.c
> +++ b/drivers/net/geneve.c
> @@ -988,7 +988,7 @@ static int geneve6_xmit_skb(struct sk_buff *skb, struct net_device *dev,
> __be16 sport;
> int err;
>
> - if (!pskb_network_may_pull(skb, sizeof(struct ipv6hdr)))
> + if (!pskb_network_may_pull(skb, sizeof(struct iphdr)))
> return -EINVAL;
>
> sport = udp_flow_src_port(geneve->net, skb, 1, USHRT_MAX, true);
> --
> 2.30.2
>