From: Sasha Levin Date: Fri, 15 Sep 2023 16:15:13 +0000 (-0400) Subject: Drop gve-fix-frag_list-chaining.patch X-Git-Tag: v5.10.195~53^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=593f309fae0aa7cfc5dee8e9644a1ebfdeb9bbd0;p=thirdparty%2Fkernel%2Fstable-queue.git Drop 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