Re: [PATCH net] net/sched: cls_api: Fix lockup on flushing explicitly created chain

From: renmingshuai
Date: Mon Jun 12 2023 - 10:36:05 EST


>On Mon 12 Jun 2023 at 10:59, Pedro Tammela <pctammela@xxxxxxxxxxxx> wrote:
>> On 12/06/2023 06:34, Vlad Buslov wrote:
>>> Mingshuai Ren reports:
>>> When a new chain is added by using tc, one soft lockup alarm will be
>>> generated after delete the prio 0 filter of the chain. To reproduce
>>> the problem, perform the following steps:
>>> (1) tc qdisc add dev eth0 root handle 1: htb default 1
>>> (2) tc chain add dev eth0
>>> (3) tc filter del dev eth0 chain 0 parent 1: prio 0
>>> (4) tc filter add dev eth0 chain 0 parent 1:
>>> Fix the issue by accounting for additional reference to chains that are
>>> explicitly created by RTM_NEWCHAIN message as opposed to implicitly by
>>> RTM_NEWTFILTER message.
>>> Fixes: 726d061286ce ("net: sched: prevent insertion of new classifiers during
>>> chain flush")
>>> Reported-by: Mingshuai Ren <renmingshuai@xxxxxxxxxx>
>>> Closes: https://lore.kernel.org/lkml/87legswvi3.fsf@xxxxxxxxxx/T/
>>> Signed-off-by: Vlad Buslov <vladbu@xxxxxxxxxx>
>>> ---
>>> net/sched/cls_api.c | 12 +++++++-----
>>> 1 file changed, 7 insertions(+), 5 deletions(-)
>>
>>
>> Hi Vlad,
>>
>> Thanks for taking a look.
>> Could you also carry over the tdc test or ask Ren to post in a separate patch?
>
>Sure. I was planning to ask Mingshuai Ren to submit the new test as
>standalone patch after my fix has been accepted since including his code
>with my fix would require explicit approval of the whole patch and his
>Signed-off-by clause AFAIK.

OK. I will submit the new test as standalone patch after your fix is been accepted.