Message ID | c5b7dc6020c93a1e7b40bc472fcdb6429999473e.1649967496.git.peilin.ye@bytedance.com (mailing list archive) |
---|---|
State | Accepted |
Commit | f40c064e933d7787ca7411b699504d7a2664c1f5 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [v2,net,1/2] ip6_gre: Avoid updating tunnel->tun_hlen in __gre6_xmit() | expand |
Hello: This series was applied to netdev/net.git (master) by David S. Miller <davem@davemloft.net>: On Thu, 14 Apr 2022 13:34:26 -0700 you wrote: > From: Peilin Ye <peilin.ye@bytedance.com> > > Do not update tunnel->tun_hlen in data plane code. Use a local variable > instead, just like "tunnel_hlen" in net/ipv4/ip_gre.c:gre_fb_xmit(). > > Co-developed-by: Cong Wang <cong.wang@bytedance.com> > Signed-off-by: Cong Wang <cong.wang@bytedance.com> > Signed-off-by: Peilin Ye <peilin.ye@bytedance.com> > > [...] Here is the summary with links: - [v2,net,1/2] ip6_gre: Avoid updating tunnel->tun_hlen in __gre6_xmit() https://git.kernel.org/netdev/net/c/f40c064e933d - [v2,net,2/2] ip6_gre: Fix skb_under_panic in __gre6_xmit() https://git.kernel.org/netdev/net/c/ab198e1d0dd8 You are awesome, thank you!
diff --git a/net/ipv6/ip6_gre.c b/net/ipv6/ip6_gre.c index 8753e9cec326..b43a46449130 100644 --- a/net/ipv6/ip6_gre.c +++ b/net/ipv6/ip6_gre.c @@ -743,6 +743,7 @@ static netdev_tx_t __gre6_xmit(struct sk_buff *skb, struct ip_tunnel_info *tun_info; const struct ip_tunnel_key *key; __be16 flags; + int tun_hlen; tun_info = skb_tunnel_info_txcheck(skb); if (IS_ERR(tun_info) || @@ -760,9 +761,9 @@ static netdev_tx_t __gre6_xmit(struct sk_buff *skb, dsfield = key->tos; flags = key->tun_flags & (TUNNEL_CSUM | TUNNEL_KEY | TUNNEL_SEQ); - tunnel->tun_hlen = gre_calc_hlen(flags); + tun_hlen = gre_calc_hlen(flags); - gre_build_header(skb, tunnel->tun_hlen, + gre_build_header(skb, tun_hlen, flags, protocol, tunnel_id_to_key32(tun_info->key.tun_id), (flags & TUNNEL_SEQ) ? htonl(tunnel->o_seqno++)