diff options
-rw-r--r-- | net/xfrm/xfrm_policy.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c index a0d58971391d..f1cdcfb90959 100644 --- a/net/xfrm/xfrm_policy.c +++ b/net/xfrm/xfrm_policy.c | |||
@@ -1004,7 +1004,8 @@ xfrm_state_ok(struct xfrm_tmpl *tmpl, struct xfrm_state *x, | |||
1004 | (x->id.spi == tmpl->id.spi || !tmpl->id.spi) && | 1004 | (x->id.spi == tmpl->id.spi || !tmpl->id.spi) && |
1005 | (x->props.reqid == tmpl->reqid || !tmpl->reqid) && | 1005 | (x->props.reqid == tmpl->reqid || !tmpl->reqid) && |
1006 | x->props.mode == tmpl->mode && | 1006 | x->props.mode == tmpl->mode && |
1007 | (tmpl->aalgos & (1<<x->props.aalgo)) && | 1007 | ((tmpl->aalgos & (1<<x->props.aalgo)) || |
1008 | !(xfrm_id_proto_match(tmpl->id.proto, IPSEC_PROTO_ANY))) && | ||
1008 | !(x->props.mode != XFRM_MODE_TRANSPORT && | 1009 | !(x->props.mode != XFRM_MODE_TRANSPORT && |
1009 | xfrm_state_addr_cmp(tmpl, x, family)); | 1010 | xfrm_state_addr_cmp(tmpl, x, family)); |
1010 | } | 1011 | } |