6.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Andrew Melnychenko andrew@daynix.com
commit 1fd54773c26787b9aea80e2f62c7d0780ea444d0 upstream.
Allow UDP_L4 for robust packets.
Signed-off-by: Jason Wang jasowang@redhat.com Signed-off-by: Andrew Melnychenko andrew@daynix.com Signed-off-by: David S. Miller davem@davemloft.net Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org --- net/ipv4/udp_offload.c | 3 ++- net/ipv6/udp_offload.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-)
--- a/net/ipv4/udp_offload.c +++ b/net/ipv4/udp_offload.c @@ -387,7 +387,8 @@ static struct sk_buff *udp4_ufo_fragment if (!pskb_may_pull(skb, sizeof(struct udphdr))) goto out;
- if (skb_shinfo(skb)->gso_type & SKB_GSO_UDP_L4) + if (skb_shinfo(skb)->gso_type & SKB_GSO_UDP_L4 && + !skb_gso_ok(skb, features | NETIF_F_GSO_ROBUST)) return __udp_gso_segment(skb, features, false);
mss = skb_shinfo(skb)->gso_size; --- a/net/ipv6/udp_offload.c +++ b/net/ipv6/udp_offload.c @@ -42,7 +42,8 @@ static struct sk_buff *udp6_ufo_fragment if (!pskb_may_pull(skb, sizeof(struct udphdr))) goto out;
- if (skb_shinfo(skb)->gso_type & SKB_GSO_UDP_L4) + if (skb_shinfo(skb)->gso_type & SKB_GSO_UDP_L4 && + !skb_gso_ok(skb, features | NETIF_F_GSO_ROBUST)) return __udp_gso_segment(skb, features, true);
mss = skb_shinfo(skb)->gso_size;