diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2006-04-01 00:52:46 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-04-01 00:52:46 -0800 |
commit | e695633e21ffb6a443a8c2f8b3f095c7f1a48eb0 (patch) | |
tree | 52a679683a11eb42ec5888309a82ec5811a21e03 /net/ipv4/xfrm4_input.c | |
parent | 15901dc93fa4253bfb3661644ecad67c2e83213c (diff) | |
download | lwn-e695633e21ffb6a443a8c2f8b3f095c7f1a48eb0.tar.gz lwn-e695633e21ffb6a443a8c2f8b3f095c7f1a48eb0.zip |
[IPSEC]: Kill unused decap state argument
This patch removes the decap_state argument from the xfrm input hook.
Previously this function allowed the input hook to share state with
the post_input hook. The latter has since been removed.
The only purpose for it now is to check the encap type. However, it
is easier and better to move the encap type check to the generic
xfrm_rcv function. This allows us to get rid of the decap state
argument altogether.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/xfrm4_input.c')
-rw-r--r-- | net/ipv4/xfrm4_input.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/ipv4/xfrm4_input.c b/net/ipv4/xfrm4_input.c index 850d919591d1..04ceb6e13b9d 100644 --- a/net/ipv4/xfrm4_input.c +++ b/net/ipv4/xfrm4_input.c @@ -90,6 +90,9 @@ int xfrm4_rcv_encap(struct sk_buff *skb, __u16 encap_type) if (unlikely(x->km.state != XFRM_STATE_VALID)) goto drop_unlock; + if (x->encap->encap_type != encap_type) + goto drop_unlock; + if (x->props.replay_window && xfrm_replay_check(x, seq)) goto drop_unlock; @@ -97,7 +100,7 @@ int xfrm4_rcv_encap(struct sk_buff *skb, __u16 encap_type) goto drop_unlock; xfrm_vec[xfrm_nr].decap.decap_type = encap_type; - if (x->type->input(x, &(xfrm_vec[xfrm_nr].decap), skb)) + if (x->type->input(x, skb)) goto drop_unlock; /* only the first xfrm gets the encap type */ |