diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2010-06-09 02:09:23 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-06-12 01:37:08 (GMT) |
commit | c7de2cf053420d63bac85133469c965d4b1083e1 (patch) | |
tree | b56f7c96d01e25f79fe1f9b7e5305265e92214d9 /include/net/netfilter/xt_rateest.h | |
parent | cbd6890c5987cd7115147e1dd2c10d729afabb08 (diff) | |
download | linux-fsl-qoriq-c7de2cf053420d63bac85133469c965d4b1083e1.tar.xz |
pkt_sched: gen_kill_estimator() rcu fixes
gen_kill_estimator() API is incomplete or not well documented, since
caller should make sure an RCU grace period is respected before
freeing stats_lock.
This was partially addressed in commit 5d944c640b4
(gen_estimator: deadlock fix), but same problem exist for all
gen_kill_estimator() users, if lock they use is not already RCU
protected.
A code review shows xt_RATEEST.c, act_api.c, act_police.c have this
problem. Other are ok because they use qdisc lock, already RCU
protected.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/netfilter/xt_rateest.h')
-rw-r--r-- | include/net/netfilter/xt_rateest.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/net/netfilter/xt_rateest.h b/include/net/netfilter/xt_rateest.h index ddbf37e..5e14277 100644 --- a/include/net/netfilter/xt_rateest.h +++ b/include/net/netfilter/xt_rateest.h @@ -9,6 +9,7 @@ struct xt_rateest { struct gnet_estimator params; struct gnet_stats_rate_est rstats; struct gnet_stats_basic_packed bstats; + struct rcu_head rcu; }; extern struct xt_rateest *xt_rateest_lookup(const char *name); |