diff --git a/[refs] b/[refs] index 45fa0c5c08b3..8e954ed75021 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cf86314cb7460423b0b7e611edad80a52dc90d10 +refs/heads/master: aef21785995778f710a60b563e03bf53ba455a47 diff --git a/trunk/net/xfrm/xfrm_policy.c b/trunk/net/xfrm/xfrm_policy.c index a83b5e1349ed..8023a3c0dad5 100644 --- a/trunk/net/xfrm/xfrm_policy.c +++ b/trunk/net/xfrm/xfrm_policy.c @@ -1469,8 +1469,6 @@ int __xfrm_lookup(struct dst_entry **dst_p, struct flowi *fl, goto dropdst; } - err = -ENOENT; - if (!policy) { /* To accelerate a bit... */ if ((dst_orig->flags & DST_NOXFRM) || @@ -1492,6 +1490,7 @@ int __xfrm_lookup(struct dst_entry **dst_p, struct flowi *fl, npols ++; xfrm_nr += pols[0]->xfrm_nr; + err = -ENOENT; if ((flags & XFRM_LOOKUP_ICMP) && !(policy->flags & XFRM_POLICY_ICMP)) goto error; @@ -1657,6 +1656,7 @@ int __xfrm_lookup(struct dst_entry **dst_p, struct flowi *fl, return err; nopol: + err = -ENOENT; if (flags & XFRM_LOOKUP_ICMP) goto dropdst; return 0;