[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ad81a570-dff5-7c74-170e-70e764778cba@yandex-team.ru>
Date: Fri, 11 Aug 2017 23:36:45 +0300
From: Konstantin Khlebnikov <khlebnikov@...dex-team.ru>
To: Cong Wang <xiyou.wangcong@...il.com>
Cc: Linux Kernel Network Developers <netdev@...r.kernel.org>,
Jiri Pirko <jiri@...lanox.com>,
"David S. Miller" <davem@...emloft.net>,
Jamal Hadi Salim <jhs@...atatu.com>
Subject: Re: [PATCH] net/sched: reset block pointer in tcf_block_put()
On 11.08.2017 23:18, Cong Wang wrote:
> On Thu, Aug 10, 2017 at 2:31 AM, Konstantin Khlebnikov
> <khlebnikov@...dex-team.ru> wrote:
>> 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 a4aebb83cf0da0363684f1c339f7e6149a3e74c1
second time in hfsc_destroy_class() called from it.
Actually, I see the same pattern in all classy qdiscs.
Powered by blists - more mailing lists