Revision c9a82bec02c339cdda99b37c5e62b3b71fc4209c authored by Vlad Buslov on 12 June 2023, 09:34:26 UTC, committed by Jakub Kicinski on 15 June 2023, 06:03:16 UTC
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>
1 parent 24b454b
History
File Mode Size
governors
Kconfig -rw-r--r-- 2.3 KB
Kconfig.arm -rw-r--r-- 4.4 KB
Kconfig.mips -rw-r--r-- 658 bytes
Kconfig.powerpc -rw-r--r-- 520 bytes
Kconfig.riscv -rw-r--r-- 438 bytes
Makefile -rw-r--r-- 1.7 KB
coupled.c -rw-r--r-- 25.2 KB
cpuidle-arm.c -rw-r--r-- 4.0 KB
cpuidle-at91.c -rw-r--r-- 1.5 KB
cpuidle-big_little.c -rw-r--r-- 6.7 KB
cpuidle-calxeda.c -rw-r--r-- 1.6 KB
cpuidle-clps711x.c -rw-r--r-- 1.2 KB
cpuidle-cps.c -rw-r--r-- 4.2 KB
cpuidle-exynos.c -rw-r--r-- 3.3 KB
cpuidle-haltpoll.c -rw-r--r-- 3.1 KB
cpuidle-kirkwood.c -rw-r--r-- 2.0 KB
cpuidle-mvebu-v7.c -rw-r--r-- 3.5 KB
cpuidle-powernv.c -rw-r--r-- 10.3 KB
cpuidle-psci-domain.c -rw-r--r-- 4.7 KB
cpuidle-psci.c -rw-r--r-- 10.1 KB
cpuidle-psci.h -rw-r--r-- 672 bytes
cpuidle-pseries.c -rw-r--r-- 12.5 KB
cpuidle-qcom-spm.c -rw-r--r-- 4.5 KB
cpuidle-riscv-sbi.c -rw-r--r-- 14.2 KB
cpuidle-tegra.c -rw-r--r-- 9.4 KB
cpuidle-ux500.c -rw-r--r-- 3.0 KB
cpuidle-zynq.c -rw-r--r-- 1.5 KB
cpuidle.c -rw-r--r-- 19.4 KB
cpuidle.h -rw-r--r-- 2.2 KB
driver.c -rw-r--r-- 9.8 KB
dt_idle_genpd.c -rw-r--r-- 3.6 KB
dt_idle_genpd.h -rw-r--r-- 990 bytes
dt_idle_states.c -rw-r--r-- 6.3 KB
dt_idle_states.h -rw-r--r-- 216 bytes
governor.c -rw-r--r-- 2.7 KB
poll_state.c -rw-r--r-- 1.3 KB
sysfs.c -rw-r--r-- 19.2 KB

back to top