Commit e4d0fe71 authored by Julian Anastasov's avatar Julian Anastasov Committed by Pablo Neira Ayuso
Browse files

ipvs: avoid kfree_rcu without 2nd arg



Avoid possible synchronize_rcu() as part from the
kfree_rcu() call when 2nd arg is not provided.

Signed-off-by: default avatarJulian Anastasov <ja@ssi.bg>
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent f6477ec6
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -461,6 +461,7 @@ void ip_vs_stats_free(struct ip_vs_stats *stats);

/* Multiple chains processed in same tick */
struct ip_vs_est_tick_data {
	struct rcu_head		rcu_head;
	struct hlist_head	chains[IPVS_EST_TICK_CHAINS];
	DECLARE_BITMAP(present, IPVS_EST_TICK_CHAINS);
	DECLARE_BITMAP(full, IPVS_EST_TICK_CHAINS);
+1 −1
Original line number Diff line number Diff line
@@ -549,7 +549,7 @@ void ip_vs_stop_estimator(struct netns_ipvs *ipvs, struct ip_vs_stats *stats)
	__set_bit(row, kd->avail);
	if (!kd->tick_len[row]) {
		RCU_INIT_POINTER(kd->ticks[row], NULL);
		kfree_rcu(td);
		kfree_rcu(td, rcu_head);
	}
	kd->est_count--;
	if (kd->est_count) {