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 5d944c640b
(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>
This commit is contained in:
committed by
David S. Miller
parent
cbd6890c59
commit
c7de2cf053
@@ -263,6 +263,7 @@ static void __gen_kill_estimator(struct rcu_head *head)
|
||||
*
|
||||
* Removes the rate estimator specified by &bstats and &rate_est.
|
||||
*
|
||||
* Note : Caller should respect an RCU grace period before freeing stats_lock
|
||||
*/
|
||||
void gen_kill_estimator(struct gnet_stats_basic_packed *bstats,
|
||||
struct gnet_stats_rate_est *rate_est)
|
||||
|
Reference in New Issue
Block a user