diff options
-rw-r--r-- | net/ipv4/ah4.c | 4 | ||||
-rw-r--r-- | net/ipv6/ah6.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/net/ipv4/ah4.c b/net/ipv4/ah4.c index 33ca18603e3b..c7056b2e831f 100644 --- a/net/ipv4/ah4.c +++ b/net/ipv4/ah4.c | |||
@@ -262,12 +262,12 @@ static void ah_input_done(struct crypto_async_request *base, int err) | |||
262 | if (err) | 262 | if (err) |
263 | goto out; | 263 | goto out; |
264 | 264 | ||
265 | err = ah->nexthdr; | ||
266 | |||
265 | skb->network_header += ah_hlen; | 267 | skb->network_header += ah_hlen; |
266 | memcpy(skb_network_header(skb), work_iph, ihl); | 268 | memcpy(skb_network_header(skb), work_iph, ihl); |
267 | __skb_pull(skb, ah_hlen + ihl); | 269 | __skb_pull(skb, ah_hlen + ihl); |
268 | skb_set_transport_header(skb, -ihl); | 270 | skb_set_transport_header(skb, -ihl); |
269 | |||
270 | err = ah->nexthdr; | ||
271 | out: | 271 | out: |
272 | kfree(AH_SKB_CB(skb)->tmp); | 272 | kfree(AH_SKB_CB(skb)->tmp); |
273 | xfrm_input_resume(skb, err); | 273 | xfrm_input_resume(skb, err); |
diff --git a/net/ipv6/ah6.c b/net/ipv6/ah6.c index ede4d9d6cc2b..7a33aaa00227 100644 --- a/net/ipv6/ah6.c +++ b/net/ipv6/ah6.c | |||
@@ -464,12 +464,12 @@ static void ah6_input_done(struct crypto_async_request *base, int err) | |||
464 | if (err) | 464 | if (err) |
465 | goto out; | 465 | goto out; |
466 | 466 | ||
467 | err = ah->nexthdr; | ||
468 | |||
467 | skb->network_header += ah_hlen; | 469 | skb->network_header += ah_hlen; |
468 | memcpy(skb_network_header(skb), work_iph, hdr_len); | 470 | memcpy(skb_network_header(skb), work_iph, hdr_len); |
469 | __skb_pull(skb, ah_hlen + hdr_len); | 471 | __skb_pull(skb, ah_hlen + hdr_len); |
470 | skb_set_transport_header(skb, -hdr_len); | 472 | skb_set_transport_header(skb, -hdr_len); |
471 | |||
472 | err = ah->nexthdr; | ||
473 | out: | 473 | out: |
474 | kfree(AH_SKB_CB(skb)->tmp); | 474 | kfree(AH_SKB_CB(skb)->tmp); |
475 | xfrm_input_resume(skb, err); | 475 | xfrm_input_resume(skb, err); |