summaryrefslogtreecommitdiffstats
path: root/net/ipv4/fou.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4/fou.c')
-rw-r--r--net/ipv4/fou.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ipv4/fou.c b/net/ipv4/fou.c
index b038f563baa4..1ca1586a7e46 100644
--- a/net/ipv4/fou.c
+++ b/net/ipv4/fou.c
@@ -121,6 +121,7 @@ static int gue_udp_recv(struct sock *sk, struct sk_buff *skb)
121 struct guehdr *guehdr; 121 struct guehdr *guehdr;
122 void *data; 122 void *data;
123 u16 doffset = 0; 123 u16 doffset = 0;
124 u8 proto_ctype;
124 125
125 if (!fou) 126 if (!fou)
126 return 1; 127 return 1;
@@ -210,13 +211,14 @@ static int gue_udp_recv(struct sock *sk, struct sk_buff *skb)
210 if (unlikely(guehdr->control)) 211 if (unlikely(guehdr->control))
211 return gue_control_message(skb, guehdr); 212 return gue_control_message(skb, guehdr);
212 213
214 proto_ctype = guehdr->proto_ctype;
213 __skb_pull(skb, sizeof(struct udphdr) + hdrlen); 215 __skb_pull(skb, sizeof(struct udphdr) + hdrlen);
214 skb_reset_transport_header(skb); 216 skb_reset_transport_header(skb);
215 217
216 if (iptunnel_pull_offloads(skb)) 218 if (iptunnel_pull_offloads(skb))
217 goto drop; 219 goto drop;
218 220
219 return -guehdr->proto_ctype; 221 return -proto_ctype;
220 222
221drop: 223drop:
222 kfree_skb(skb); 224 kfree_skb(skb);