+++ /dev/null
-From a7356cc9ba83132190ec15a1e27f7e84b37f6ceb Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Thu, 28 May 2020 14:57:47 -0700
-Subject: net: be more gentle about silly gso requests coming from user
-
-From: Eric Dumazet <edumazet@google.com>
-
-[ Upstream commit 7c6d2ecbda83150b2036a2b36b21381ad4667762 ]
-
-Recent change in virtio_net_hdr_to_skb() broke some packetdrill tests.
-
-When --mss=XXX option is set, packetdrill always provide gso_type & gso_size
-for its inbound packets, regardless of packet size.
-
- if (packet->tcp && packet->mss) {
- if (packet->ipv4)
- gso.gso_type = VIRTIO_NET_HDR_GSO_TCPV4;
- else
- gso.gso_type = VIRTIO_NET_HDR_GSO_TCPV6;
- gso.gso_size = packet->mss;
- }
-
-Since many other programs could do the same, relax virtio_net_hdr_to_skb()
-to no longer return an error, but instead ignore gso settings.
-
-This keeps Willem intent to make sure no malicious packet could
-reach gso stack.
-
-Note that TCP stack has a special logic in tcp_set_skb_tso_segs()
-to clear gso_size for small packets.
-
-Fixes: 6dd912f82680 ("net: check untrusted gso_size at kernel entry")
-Signed-off-by: Eric Dumazet <edumazet@google.com>
-Cc: Willem de Bruijn <willemb@google.com>
-Acked-by: Willem de Bruijn <willemb@google.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- include/linux/virtio_net.h | 17 +++++++++--------
- 1 file changed, 9 insertions(+), 8 deletions(-)
-
-diff --git a/include/linux/virtio_net.h b/include/linux/virtio_net.h
-index a16e0bdf77511..d19bfdcf77498 100644
---- a/include/linux/virtio_net.h
-+++ b/include/linux/virtio_net.h
-@@ -107,16 +107,17 @@ static inline int virtio_net_hdr_to_skb(struct sk_buff *skb,
-
- if (hdr->gso_type != VIRTIO_NET_HDR_GSO_NONE) {
- u16 gso_size = __virtio16_to_cpu(little_endian, hdr->gso_size);
-+ struct skb_shared_info *shinfo = skb_shinfo(skb);
-
-- if (skb->len - p_off <= gso_size)
-- return -EINVAL;
--
-- skb_shinfo(skb)->gso_size = gso_size;
-- skb_shinfo(skb)->gso_type = gso_type;
-+ /* Too small packets are not really GSO ones. */
-+ if (skb->len - p_off > gso_size) {
-+ shinfo->gso_size = gso_size;
-+ shinfo->gso_type = gso_type;
-
-- /* Header must be checked, and gso_segs computed. */
-- skb_shinfo(skb)->gso_type |= SKB_GSO_DODGY;
-- skb_shinfo(skb)->gso_segs = 0;
-+ /* Header must be checked, and gso_segs computed. */
-+ shinfo->gso_type |= SKB_GSO_DODGY;
-+ shinfo->gso_segs = 0;
-+ }
- }
-
- return 0;
---
-2.25.1
-
net-be-more-gentle-about-silly-gso-requests-coming-from-user.patch
block-bio-integrity-don-t-free-buf-if-bio_integrity_add_page-failed.patch
net-sched-export-__netdev_watchdog_up.patch
-net-be-more-gentle-about-silly-gso-requests-coming-f.patch
fix-a-braino-in-sparc32-fix-register-window-handling.patch
+++ /dev/null
-From 6de89f46d574a79357859fa1f4f9005bda8c7edf Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Thu, 28 May 2020 14:57:47 -0700
-Subject: net: be more gentle about silly gso requests coming from user
-
-From: Eric Dumazet <edumazet@google.com>
-
-[ Upstream commit 7c6d2ecbda83150b2036a2b36b21381ad4667762 ]
-
-Recent change in virtio_net_hdr_to_skb() broke some packetdrill tests.
-
-When --mss=XXX option is set, packetdrill always provide gso_type & gso_size
-for its inbound packets, regardless of packet size.
-
- if (packet->tcp && packet->mss) {
- if (packet->ipv4)
- gso.gso_type = VIRTIO_NET_HDR_GSO_TCPV4;
- else
- gso.gso_type = VIRTIO_NET_HDR_GSO_TCPV6;
- gso.gso_size = packet->mss;
- }
-
-Since many other programs could do the same, relax virtio_net_hdr_to_skb()
-to no longer return an error, but instead ignore gso settings.
-
-This keeps Willem intent to make sure no malicious packet could
-reach gso stack.
-
-Note that TCP stack has a special logic in tcp_set_skb_tso_segs()
-to clear gso_size for small packets.
-
-Fixes: 6dd912f82680 ("net: check untrusted gso_size at kernel entry")
-Signed-off-by: Eric Dumazet <edumazet@google.com>
-Cc: Willem de Bruijn <willemb@google.com>
-Acked-by: Willem de Bruijn <willemb@google.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- include/linux/virtio_net.h | 17 +++++++++--------
- 1 file changed, 9 insertions(+), 8 deletions(-)
-
-diff --git a/include/linux/virtio_net.h b/include/linux/virtio_net.h
-index 1c296f370e461..f32fe7080d2ec 100644
---- a/include/linux/virtio_net.h
-+++ b/include/linux/virtio_net.h
-@@ -109,16 +109,17 @@ static inline int virtio_net_hdr_to_skb(struct sk_buff *skb,
-
- if (hdr->gso_type != VIRTIO_NET_HDR_GSO_NONE) {
- u16 gso_size = __virtio16_to_cpu(little_endian, hdr->gso_size);
-+ struct skb_shared_info *shinfo = skb_shinfo(skb);
-
-- if (skb->len - p_off <= gso_size)
-- return -EINVAL;
--
-- skb_shinfo(skb)->gso_size = gso_size;
-- skb_shinfo(skb)->gso_type = gso_type;
-+ /* Too small packets are not really GSO ones. */
-+ if (skb->len - p_off > gso_size) {
-+ shinfo->gso_size = gso_size;
-+ shinfo->gso_type = gso_type;
-
-- /* Header must be checked, and gso_segs computed. */
-- skb_shinfo(skb)->gso_type |= SKB_GSO_DODGY;
-- skb_shinfo(skb)->gso_segs = 0;
-+ /* Header must be checked, and gso_segs computed. */
-+ shinfo->gso_type |= SKB_GSO_DODGY;
-+ shinfo->gso_segs = 0;
-+ }
- }
-
- return 0;
---
-2.25.1
-
mtd-rawnand-marvell-fix-the-condition-on-a-return-co.patch
net-bcmgenet-remove-hfb_ctrl-access.patch
net-sched-export-__netdev_watchdog_up.patch
-net-be-more-gentle-about-silly-gso-requests-coming-f.patch
edac-amd64-add-family-17h-model-30h-pci-ids.patch
ib-mlx5-fix-devx-support-for-mlx5_cmd_op_init2init_q.patch
i2c-tegra-cleanup-kerneldoc-comments.patch