diff options
Diffstat (limited to 'net/ipv4/esp4.c')
-rw-r--r-- | net/ipv4/esp4.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/net/ipv4/esp4.c b/net/ipv4/esp4.c index 8377bedf3f66..6b1a31a74cf2 100644 --- a/net/ipv4/esp4.c +++ b/net/ipv4/esp4.c | |||
@@ -257,12 +257,11 @@ static int esp_input(struct xfrm_state *x, struct sk_buff *skb) | |||
257 | skb->ip_summed = CHECKSUM_UNNECESSARY; | 257 | skb->ip_summed = CHECKSUM_UNNECESSARY; |
258 | } | 258 | } |
259 | 259 | ||
260 | iph->protocol = nexthdr[1]; | ||
261 | pskb_trim(skb, skb->len - alen - padlen - 2); | 260 | pskb_trim(skb, skb->len - alen - padlen - 2); |
262 | __skb_pull(skb, sizeof(*esph) + esp->conf.ivlen); | 261 | __skb_pull(skb, sizeof(*esph) + esp->conf.ivlen); |
263 | skb_set_transport_header(skb, -ihl); | 262 | skb_set_transport_header(skb, -ihl); |
264 | 263 | ||
265 | return 0; | 264 | return nexthdr[1]; |
266 | 265 | ||
267 | out: | 266 | out: |
268 | return -EINVAL; | 267 | return -EINVAL; |