diff options
Diffstat (limited to 'net/xfrm/xfrm_policy.c')
-rw-r--r-- | net/xfrm/xfrm_policy.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c index d8da6b8c6ba8..ad8cc7bcf065 100644 --- a/net/xfrm/xfrm_policy.c +++ b/net/xfrm/xfrm_policy.c | |||
@@ -308,7 +308,7 @@ void xfrm_policy_destroy(struct xfrm_policy *policy) | |||
308 | { | 308 | { |
309 | BUG_ON(!policy->walk.dead); | 309 | BUG_ON(!policy->walk.dead); |
310 | 310 | ||
311 | if (del_timer(&policy->timer)) | 311 | if (del_timer(&policy->timer) || del_timer(&policy->polq.hold_timer)) |
312 | BUG(); | 312 | BUG(); |
313 | 313 | ||
314 | security_xfrm_policy_free(policy->security); | 314 | security_xfrm_policy_free(policy->security); |
@@ -2132,8 +2132,6 @@ restart: | |||
2132 | * have the xfrm_state's. We need to wait for KM to | 2132 | * have the xfrm_state's. We need to wait for KM to |
2133 | * negotiate new SA's or bail out with error.*/ | 2133 | * negotiate new SA's or bail out with error.*/ |
2134 | if (net->xfrm.sysctl_larval_drop) { | 2134 | if (net->xfrm.sysctl_larval_drop) { |
2135 | /* EREMOTE tells the caller to generate | ||
2136 | * a one-shot blackhole route. */ | ||
2137 | dst_release(dst); | 2135 | dst_release(dst); |
2138 | xfrm_pols_put(pols, drop_pols); | 2136 | xfrm_pols_put(pols, drop_pols); |
2139 | XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTNOSTATES); | 2137 | XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTNOSTATES); |