diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/xfrm/xfrm_policy.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c index 76f172f13f90..af27c193697c 100644 --- a/net/xfrm/xfrm_policy.c +++ b/net/xfrm/xfrm_policy.c | |||
@@ -1682,17 +1682,13 @@ static inline int | |||
1682 | xfrm_secpath_reject(int idx, struct sk_buff *skb, struct flowi *fl) | 1682 | xfrm_secpath_reject(int idx, struct sk_buff *skb, struct flowi *fl) |
1683 | { | 1683 | { |
1684 | struct xfrm_state *x; | 1684 | struct xfrm_state *x; |
1685 | int err; | ||
1686 | 1685 | ||
1687 | if (!skb->sp || idx < 0 || idx >= skb->sp->len) | 1686 | if (!skb->sp || idx < 0 || idx >= skb->sp->len) |
1688 | return 0; | 1687 | return 0; |
1689 | x = skb->sp->xvec[idx]; | 1688 | x = skb->sp->xvec[idx]; |
1690 | if (!x->type->reject) | 1689 | if (!x->type->reject) |
1691 | return 0; | 1690 | return 0; |
1692 | xfrm_state_hold(x); | 1691 | return x->type->reject(x, skb, fl); |
1693 | err = x->type->reject(x, skb, fl); | ||
1694 | xfrm_state_put(x); | ||
1695 | return err; | ||
1696 | } | 1692 | } |
1697 | 1693 | ||
1698 | /* When skb is transformed back to its "native" form, we have to | 1694 | /* When skb is transformed back to its "native" form, we have to |