* [PATCH net] xfrm: do the garbage collection after flushing policy
@ 2017-04-24 7:33 Xin Long
2017-04-27 7:27 ` Steffen Klassert
0 siblings, 1 reply; 2+ messages in thread
From: Xin Long @ 2017-04-24 7:33 UTC (permalink / raw)
To: network dev; +Cc: davem, Herbert Xu, fw
Now xfrm garbage collection can be triggered by 'ip xfrm policy del'.
These is no reason not to do it after flushing policies, especially
considering that 'garbage collection deferred' is only triggered
when it reaches gc_thresh.
It's no good that the policy is gone but the xdst still hold there.
The worse thing is that xdst->route/orig_dst is also hold and can
not be released even if the orig_dst is already expired.
This patch is to do the garbage collection if there is any policy
removed in xfrm_policy_flush.
Signed-off-by: Xin Long <lucien.xin@gmail.com>
---
net/xfrm/xfrm_policy.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
index 236cbbc..dfc77b9 100644
--- a/net/xfrm/xfrm_policy.c
+++ b/net/xfrm/xfrm_policy.c
@@ -1006,6 +1006,10 @@ int xfrm_policy_flush(struct net *net, u8 type, bool task_valid)
err = -ESRCH;
out:
spin_unlock_bh(&net->xfrm.xfrm_policy_lock);
+
+ if (cnt)
+ xfrm_garbage_collect(net);
+
return err;
}
EXPORT_SYMBOL(xfrm_policy_flush);
--
2.1.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH net] xfrm: do the garbage collection after flushing policy
2017-04-24 7:33 [PATCH net] xfrm: do the garbage collection after flushing policy Xin Long
@ 2017-04-27 7:27 ` Steffen Klassert
0 siblings, 0 replies; 2+ messages in thread
From: Steffen Klassert @ 2017-04-27 7:27 UTC (permalink / raw)
To: Xin Long; +Cc: network dev, davem, Herbert Xu, fw
On Mon, Apr 24, 2017 at 03:33:39PM +0800, Xin Long wrote:
> Now xfrm garbage collection can be triggered by 'ip xfrm policy del'.
> These is no reason not to do it after flushing policies, especially
> considering that 'garbage collection deferred' is only triggered
> when it reaches gc_thresh.
>
> It's no good that the policy is gone but the xdst still hold there.
> The worse thing is that xdst->route/orig_dst is also hold and can
> not be released even if the orig_dst is already expired.
>
> This patch is to do the garbage collection if there is any policy
> removed in xfrm_policy_flush.
>
> Signed-off-by: Xin Long <lucien.xin@gmail.com>
Applied to the ipsec tree, thanks!
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-04-27 7:27 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-24 7:33 [PATCH net] xfrm: do the garbage collection after flushing policy Xin Long
2017-04-27 7:27 ` Steffen Klassert
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).