aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@google.com>2024-05-01 11:41:17 +0000
committerGreg Kroah-Hartman <gregkh@google.com>2024-05-01 11:59:14 +0000
commit7f1fc97ff088e303fe6fd671bdb39bbbf98550c2 (patch)
tree2083cb59ae220682623413b32761bb3ea7de79cb
parent17eb54b8a55b45b10d890d4157d6acaa8707a300 (diff)
downloadhikey-linaro-7f1fc97ff088e303fe6fd671bdb39bbbf98550c2.tar.gz
Revert "geneve: make sure to pull inner header in geneve_rx()"
This reverts commit c7137900691f5692fe3de54566ea7b30bb35d66c which is commit 1ca1ba465e55b9460e4e75dec9fff31e708fec74 upstream. It breaks the Android kernel abi and can be brought back in the future in an abi-safe way if it is really needed. Bug: 161946584 Change-Id: I64aa85a2666f61fb1589d8ed8531750bac1e43fc Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
-rw-r--r--drivers/net/geneve.c18
1 files changed, 2 insertions, 16 deletions
diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c
index 2bb9820c6664..081939cb420b 100644
--- a/drivers/net/geneve.c
+++ b/drivers/net/geneve.c
@@ -218,7 +218,7 @@ static void geneve_rx(struct geneve_dev *geneve, struct geneve_sock *gs,
struct genevehdr *gnvh = geneve_hdr(skb);
struct metadata_dst *tun_dst = NULL;
unsigned int len;
- int nh, err = 0;
+ int err = 0;
void *oiph;
if (ip_tunnel_collect_metadata() || gs->collect_md) {
@@ -262,23 +262,9 @@ static void geneve_rx(struct geneve_dev *geneve, struct geneve_sock *gs,
goto drop;
}
- /* Save offset of outer header relative to skb->head,
- * because we are going to reset the network header to the inner header
- * and might change skb->head.
- */
- nh = skb_network_header(skb) - skb->head;
-
+ oiph = skb_network_header(skb);
skb_reset_network_header(skb);
- if (!pskb_inet_may_pull(skb)) {
- DEV_STATS_INC(geneve->dev, rx_length_errors);
- DEV_STATS_INC(geneve->dev, rx_errors);
- goto drop;
- }
-
- /* Get the outer header. */
- oiph = skb->head + nh;
-
if (geneve_get_sk_family(gs) == AF_INET)
err = IP_ECN_decapsulate(oiph, skb);
#if IS_ENABLED(CONFIG_IPV6)