From 4b2a326ad0c3d919c577532c556b7a9a2c4da06f Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Thu, 18 Dec 2008 19:23:56 -0800 Subject: [PATCH] --- yaml --- r: 122774 b: refs/heads/master c: 3de77cf23e9a19b9fc28e3b29371308325428c39 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/xfrm/xfrm_input.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 5b02814e2dd1..1040fc676358 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 49ad9599d42da4787d5b3a19263440e0fcd4d1fc +refs/heads/master: 3de77cf23e9a19b9fc28e3b29371308325428c39 diff --git a/trunk/net/xfrm/xfrm_input.c b/trunk/net/xfrm/xfrm_input.c index 65bcf09251ef..b4a13178fb40 100644 --- a/trunk/net/xfrm/xfrm_input.c +++ b/trunk/net/xfrm/xfrm_input.c @@ -167,6 +167,11 @@ int xfrm_input(struct sk_buff *skb, int nexthdr, __be32 spi, int encap_type) goto drop_unlock; } + if ((x->encap ? x->encap->encap_type : 0) != encap_type) { + XFRM_INC_STATS(net, LINUX_MIB_XFRMINSTATEMISMATCH); + goto drop_unlock; + } + if (x->props.replay_window && xfrm_replay_check(x, skb, seq)) { XFRM_INC_STATS(net, LINUX_MIB_XFRMINSTATESEQERROR); goto drop_unlock;