diff options
author | Anton Vorontsov <cbouatmailru@gmail.com> | 2012-01-10 20:55:11 +0400 |
---|---|---|
committer | Anton Vorontsov <cbouatmailru@gmail.com> | 2012-01-10 20:55:11 +0400 |
commit | 913272b3864d6da89c70d9fc2c30ccb57794b369 (patch) | |
tree | 4fb0a8ab1b53623d2a8ea200b80a3ace2d271471 /net/ipv4/ah4.c | |
parent | 6cfc2a23540667cff6da6e41d1f1167a9a45aa9a (diff) | |
parent | 629bcb4b72d49b3631ae3dd0fe1d345820fadfcc (diff) | |
download | linux-913272b3864d6da89c70d9fc2c30ccb57794b369.tar.xz |
Merge git://git.infradead.org/users/cbou/battery-urgent
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) memcpy(top_iph+1, iph+1, top_iph->ihl*4 - sizeof(struct iphdr)); } - err = ah->nexthdr; - kfree(AH_SKB_CB(skb)->tmp); xfrm_output_resume(skb, err); } @@ -264,12 +262,12 @@ static void ah_input_done(struct crypto_async_request *base, int err) if (err) goto out; + err = ah->nexthdr; + skb->network_header += ah_hlen; memcpy(skb_network_header(skb), work_iph, ihl); __skb_pull(skb, ah_hlen + ihl); skb_set_transport_header(skb, -ihl); - - err = ah->nexthdr; out: kfree(AH_SKB_CB(skb)->tmp); xfrm_input_resume(skb, err); @@ -371,8 +369,6 @@ static int ah_input(struct xfrm_state *x, struct sk_buff *skb) if (err == -EINPROGRESS) goto out; - if (err == -EBUSY) - err = NET_XMIT_DROP; goto out_free; } |