On 11.08.2017 23:18, Cong Wang wrote:
On Thu, Aug 10, 2017 at 2:31 AM, Konstantin Khlebnikov
In previous API tcf_destroy_chain() could be called several times and
some schedulers like hfsc and atm use that. In new API tcf_block_put()
frees block but leaves stale pointer, second call will free it once again.
Which call path do we call tcf_block_put() for multiple times on
the same block? Please be specific, it is not obvious.
For example in hfsc_destroy_qdisc() since
second time in hfsc_destroy_class() called from it.
Actually, I see the same pattern in all classy qdiscs.