]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ipvs: do not keep dest_dst after dest is removed
authorJulian Anastasov <ja@ssi.bg>
Tue, 24 Feb 2026 20:50:43 +0000 (21:50 +0100)
committerJakub Kicinski <kuba@kernel.org>
Thu, 26 Feb 2026 03:36:26 +0000 (19:36 -0800)
commit40fb72209fd83edaf3632dba644b1fcf81143cfc
tree9b1e5983e78eb452c7c2647e16a607a09e518bf4
parentb24ae1a387e404e832385448ccad30cb03520e45
ipvs: do not keep dest_dst after dest is removed

Before now dest->dest_dst is not released when server is moved into
dest_trash list after removal. As result, we can keep dst/dev
references for long time without actively using them.

It is better to avoid walking the dest_trash list when
ip_vs_dst_event() receives dev events. So, make sure we do not
hold dev references in dest_trash list. As packets can be flying
while server is being removed, check the IP_VS_DEST_F_AVAILABLE
flag in slow path to ensure we do not save new dev references to
removed servers.

Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Florian Westphal <fw@strlen.de>
Link: https://patch.msgid.link/20260224205048.4718-5-fw@strlen.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/netfilter/ipvs/ip_vs_ctl.c
net/netfilter/ipvs/ip_vs_xmit.c