diff options
Diffstat (limited to 'net/ipv6/ah6.c')
| -rw-r--r-- | net/ipv6/ah6.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/net/ipv6/ah6.c b/net/ipv6/ah6.c index 2195ae651923..4c0f894d0843 100644 --- a/net/ipv6/ah6.c +++ b/net/ipv6/ah6.c | |||
| @@ -324,8 +324,6 @@ static void ah6_output_done(struct crypto_async_request *base, int err) | |||
| 324 | #endif | 324 | #endif |
| 325 | } | 325 | } |
| 326 | 326 | ||
| 327 | err = ah->nexthdr; | ||
| 328 | |||
| 329 | kfree(AH_SKB_CB(skb)->tmp); | 327 | kfree(AH_SKB_CB(skb)->tmp); |
| 330 | xfrm_output_resume(skb, err); | 328 | xfrm_output_resume(skb, err); |
| 331 | } | 329 | } |
| @@ -466,12 +464,12 @@ static void ah6_input_done(struct crypto_async_request *base, int err) | |||
| 466 | if (err) | 464 | if (err) |
| 467 | goto out; | 465 | goto out; |
| 468 | 466 | ||
| 467 | err = ah->nexthdr; | ||
| 468 | |||
| 469 | skb->network_header += ah_hlen; | 469 | skb->network_header += ah_hlen; |
| 470 | memcpy(skb_network_header(skb), work_iph, hdr_len); | 470 | memcpy(skb_network_header(skb), work_iph, hdr_len); |
| 471 | __skb_pull(skb, ah_hlen + hdr_len); | 471 | __skb_pull(skb, ah_hlen + hdr_len); |
| 472 | skb_set_transport_header(skb, -hdr_len); | 472 | skb_set_transport_header(skb, -hdr_len); |
| 473 | |||
| 474 | err = ah->nexthdr; | ||
| 475 | out: | 473 | out: |
| 476 | kfree(AH_SKB_CB(skb)->tmp); | 474 | kfree(AH_SKB_CB(skb)->tmp); |
| 477 | xfrm_input_resume(skb, err); | 475 | xfrm_input_resume(skb, err); |
| @@ -583,8 +581,6 @@ static int ah6_input(struct xfrm_state *x, struct sk_buff *skb) | |||
| 583 | if (err == -EINPROGRESS) | 581 | if (err == -EINPROGRESS) |
| 584 | goto out; | 582 | goto out; |
| 585 | 583 | ||
| 586 | if (err == -EBUSY) | ||
| 587 | err = NET_XMIT_DROP; | ||
| 588 | goto out_free; | 584 | goto out_free; |
| 589 | } | 585 | } |
| 590 | 586 | ||
