When ipvs is disabled in ip_vs_expire_nodest_conn_flush, we should break instead of return so that rcu_read_unlock() is run. Signed-off-by: Andrew Sy Kim <kim.andrewsy@xxxxxxxxx> --- net/netfilter/ipvs/ip_vs_conn.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/netfilter/ipvs/ip_vs_conn.c b/net/netfilter/ipvs/ip_vs_conn.c index a5e9b2d55e57..a90b8eac16ac 100644 --- a/net/netfilter/ipvs/ip_vs_conn.c +++ b/net/netfilter/ipvs/ip_vs_conn.c @@ -1422,7 +1422,7 @@ void ip_vs_expire_nodest_conn_flush(struct netns_ipvs *ipvs) /* netns clean up started, abort delayed work */ if (!ipvs->enable) - return; + break; } rcu_read_unlock(); } -- 2.20.1