From 593f309fae0aa7cfc5dee8e9644a1ebfdeb9bbd0 Mon Sep 17 00:00:00 2001 From: Sasha Levin Date: Fri, 15 Sep 2023 12:15:13 -0400 Subject: [PATCH] Drop gve-fix-frag_list-chaining.patch --- queue-5.15/gve-fix-frag_list-chaining.patch | 58 --------------------- queue-5.15/series | 1 - 2 files changed, 59 deletions(-) delete mode 100644 queue-5.15/gve-fix-frag_list-chaining.patch diff --git a/queue-5.15/gve-fix-frag_list-chaining.patch b/queue-5.15/gve-fix-frag_list-chaining.patch deleted file mode 100644 index 28fe5d6d467..00000000000 --- a/queue-5.15/gve-fix-frag_list-chaining.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 45f15f6e1de0334918eec4de6eb28f68ac122778 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Thu, 31 Aug 2023 21:38:12 +0000 -Subject: gve: fix frag_list chaining - -From: Eric Dumazet - -[ Upstream commit 817c7cd2043a83a3d8147f40eea1505ac7300b62 ] - -gve_rx_append_frags() is able to build skbs chained with frag_list, -like GRO engine. - -Problem is that shinfo->frag_list should only be used -for the head of the chain. - -All other links should use skb->next pointer. - -Otherwise, built skbs are not valid and can cause crashes. - -Equivalent code in GRO (skb_gro_receive()) is: - - if (NAPI_GRO_CB(p)->last == p) - skb_shinfo(p)->frag_list = skb; - else - NAPI_GRO_CB(p)->last->next = skb; - NAPI_GRO_CB(p)->last = skb; - -Fixes: 9b8dd5e5ea48 ("gve: DQO: Add RX path") -Signed-off-by: Eric Dumazet -Cc: Bailey Forrest -Cc: Willem de Bruijn -Cc: Catherine Sullivan -Reviewed-by: David Ahern -Signed-off-by: David S. Miller -Signed-off-by: Sasha Levin ---- - drivers/net/ethernet/google/gve/gve_rx_dqo.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/drivers/net/ethernet/google/gve/gve_rx_dqo.c b/drivers/net/ethernet/google/gve/gve_rx_dqo.c -index 7b18b4fd9e548..fdfe4c6d230f4 100644 ---- a/drivers/net/ethernet/google/gve/gve_rx_dqo.c -+++ b/drivers/net/ethernet/google/gve/gve_rx_dqo.c -@@ -492,7 +492,10 @@ static int gve_rx_append_frags(struct napi_struct *napi, - if (!skb) - return -1; - -- skb_shinfo(rx->skb_tail)->frag_list = skb; -+ if (rx->ctx.skb_tail == rx->ctx.skb_head) -+ skb_shinfo(rx->ctx.skb_head)->frag_list = skb; -+ else -+ rx->ctx.skb_tail->next = skb; - rx->skb_tail = skb; - num_frags = 0; - } --- -2.40.1 - diff --git a/queue-5.15/series b/queue-5.15/series index daf2515015a..ba24c417886 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -433,7 +433,6 @@ ceph-make-members-in-struct-ceph_mds_request_args_ex.patch drm-i915-gvt-drop-unused-helper-intel_vgpu_reset_gtt.patch ipv4-ignore-dst-hint-for-multipath-routes.patch igb-disable-virtualization-features-on-82580.patch -gve-fix-frag_list-chaining.patch veth-fixing-transmit-return-status-for-dropped-packe.patch net-ipv6-addrconf-avoid-integer-underflow-in-ipv6_cr.patch net-phy-micrel-correct-bit-assignments-for-phy_devic.patch -- 2.47.3