mirror of
https://github.com/torvalds/linux
synced 2024-09-06 09:51:23 +00:00
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: Julian Anastasov <ja@ssi.bg> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
parent
f6477ec62f
commit
e4d0fe71f5
|
@ -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);
|
||||
|
|
|
@ -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) {
|
||||
|
|
Loading…
Reference in a new issue