diff options
author | Vlad Buslov <vladbu@nvidia.com> | 2023-06-12 12:34:26 +0300 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2023-06-15 09:03:16 +0300 |
commit | c9a82bec02c339cdda99b37c5e62b3b71fc4209c (patch) | |
tree | 8e4ba3b2f1cc67a3d71520cb605e01aa84fe6648 /drivers | |
parent | 24b454bc354ab7b1aa918a4fe3d7696516f592d4 (diff) | |
download | linux-c9a82bec02c339cdda99b37c5e62b3b71fc4209c.tar.xz |
net/sched: cls_api: Fix lockup on flushing explicitly created chain
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@huawei.com>
Closes: https://lore.kernel.org/lkml/87legswvi3.fsf@nvidia.com/T/
Signed-off-by: Vlad Buslov <vladbu@nvidia.com>
Link: https://lore.kernel.org/r/20230612093426.2867183-1-vladbu@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers')
0 files changed, 0 insertions, 0 deletions