diff options
Diffstat (limited to 'net/ipv4/ah4.c')
| -rw-r--r-- | net/ipv4/ah4.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/net/ipv4/ah4.c b/net/ipv4/ah4.c index c1f4154552fc..36d14406261e 100644 --- a/net/ipv4/ah4.c +++ b/net/ipv4/ah4.c | |||
| @@ -136,8 +136,6 @@ static void ah_output_done(struct crypto_async_request *base, int err) | |||
| 136 | memcpy(top_iph+1, iph+1, top_iph->ihl*4 - sizeof(struct iphdr)); | 136 | memcpy(top_iph+1, iph+1, top_iph->ihl*4 - sizeof(struct iphdr)); |
| 137 | } | 137 | } |
| 138 | 138 | ||
| 139 | err = ah->nexthdr; | ||
| 140 | |||
| 141 | kfree(AH_SKB_CB(skb)->tmp); | 139 | kfree(AH_SKB_CB(skb)->tmp); |
| 142 | xfrm_output_resume(skb, err); | 140 | xfrm_output_resume(skb, err); |
| 143 | } | 141 | } |
| @@ -264,12 +262,12 @@ static void ah_input_done(struct crypto_async_request *base, int err) | |||
| 264 | if (err) | 262 | if (err) |
| 265 | goto out; | 263 | goto out; |
| 266 | 264 | ||
| 265 | err = ah->nexthdr; | ||
| 266 | |||
| 267 | skb->network_header += ah_hlen; | 267 | skb->network_header += ah_hlen; |
| 268 | memcpy(skb_network_header(skb), work_iph, ihl); | 268 | memcpy(skb_network_header(skb), work_iph, ihl); |
| 269 | __skb_pull(skb, ah_hlen + ihl); | 269 | __skb_pull(skb, ah_hlen + ihl); |
| 270 | skb_set_transport_header(skb, -ihl); | 270 | skb_set_transport_header(skb, -ihl); |
| 271 | |||
| 272 | err = ah->nexthdr; | ||
| 273 | out: | 271 | out: |
| 274 | kfree(AH_SKB_CB(skb)->tmp); | 272 | kfree(AH_SKB_CB(skb)->tmp); |
| 275 | xfrm_input_resume(skb, err); | 273 | xfrm_input_resume(skb, err); |
| @@ -371,8 +369,6 @@ static int ah_input(struct xfrm_state *x, struct sk_buff *skb) | |||
| 371 | if (err == -EINPROGRESS) | 369 | if (err == -EINPROGRESS) |
| 372 | goto out; | 370 | goto out; |
| 373 | 371 | ||
| 374 | if (err == -EBUSY) | ||
| 375 | err = NET_XMIT_DROP; | ||
| 376 | goto out_free; | 372 | goto out_free; |
| 377 | } | 373 | } |
| 378 | 374 | ||
