diff options
Diffstat (limited to 'net/xfrm/xfrm_policy.c')
-rw-r--r-- | net/xfrm/xfrm_policy.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c index ae62054a9fc4..f5eae9febd26 100644 --- a/net/xfrm/xfrm_policy.c +++ b/net/xfrm/xfrm_policy.c | |||
@@ -26,8 +26,8 @@ | |||
26 | #include <net/xfrm.h> | 26 | #include <net/xfrm.h> |
27 | #include <net/ip.h> | 27 | #include <net/ip.h> |
28 | 28 | ||
29 | DECLARE_MUTEX(xfrm_cfg_sem); | 29 | DEFINE_MUTEX(xfrm_cfg_mutex); |
30 | EXPORT_SYMBOL(xfrm_cfg_sem); | 30 | EXPORT_SYMBOL(xfrm_cfg_mutex); |
31 | 31 | ||
32 | static DEFINE_RWLOCK(xfrm_policy_lock); | 32 | static DEFINE_RWLOCK(xfrm_policy_lock); |
33 | 33 | ||
@@ -203,7 +203,7 @@ static void xfrm_policy_timer(unsigned long data) | |||
203 | } | 203 | } |
204 | 204 | ||
205 | if (warn) | 205 | if (warn) |
206 | km_policy_expired(xp, dir, 0); | 206 | km_policy_expired(xp, dir, 0, 0); |
207 | if (next != LONG_MAX && | 207 | if (next != LONG_MAX && |
208 | !mod_timer(&xp->timer, jiffies + make_jiffies(next))) | 208 | !mod_timer(&xp->timer, jiffies + make_jiffies(next))) |
209 | xfrm_pol_hold(xp); | 209 | xfrm_pol_hold(xp); |
@@ -216,7 +216,7 @@ out: | |||
216 | expired: | 216 | expired: |
217 | read_unlock(&xp->lock); | 217 | read_unlock(&xp->lock); |
218 | if (!xfrm_policy_delete(xp, dir)) | 218 | if (!xfrm_policy_delete(xp, dir)) |
219 | km_policy_expired(xp, dir, 1); | 219 | km_policy_expired(xp, dir, 1, 0); |
220 | xfrm_pol_put(xp); | 220 | xfrm_pol_put(xp); |
221 | } | 221 | } |
222 | 222 | ||
@@ -621,6 +621,7 @@ int xfrm_policy_delete(struct xfrm_policy *pol, int dir) | |||
621 | } | 621 | } |
622 | return -ENOENT; | 622 | return -ENOENT; |
623 | } | 623 | } |
624 | EXPORT_SYMBOL(xfrm_policy_delete); | ||
624 | 625 | ||
625 | int xfrm_sk_policy_insert(struct sock *sk, int dir, struct xfrm_policy *pol) | 626 | int xfrm_sk_policy_insert(struct sock *sk, int dir, struct xfrm_policy *pol) |
626 | { | 627 | { |