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
read_overflow-memchr.c -rw-r--r-- 123 bytes
read_overflow-memchr_inv.c -rw-r--r-- 127 bytes
read_overflow-memcmp.c -rw-r--r-- 124 bytes
read_overflow-memscan.c -rw-r--r-- 124 bytes
read_overflow2-memcmp.c -rw-r--r-- 124 bytes
read_overflow2-memcpy.c -rw-r--r-- 127 bytes
read_overflow2-memmove.c -rw-r--r-- 128 bytes
read_overflow2_field-memcpy.c -rw-r--r-- 138 bytes
read_overflow2_field-memmove.c -rw-r--r-- 139 bytes
test_fortify.h -rw-r--r-- 775 bytes
write_overflow-memcpy.c -rw-r--r-- 135 bytes
write_overflow-memmove.c -rw-r--r-- 136 bytes
write_overflow-memset.c -rw-r--r-- 130 bytes
write_overflow-strcpy-lit.c -rw-r--r-- 113 bytes
write_overflow-strcpy.c -rw-r--r-- 109 bytes
write_overflow-strlcpy-src.c -rw-r--r-- 129 bytes
write_overflow-strlcpy.c -rw-r--r-- 143 bytes
write_overflow-strncpy-src.c -rw-r--r-- 129 bytes
write_overflow-strncpy.c -rw-r--r-- 143 bytes
write_overflow-strscpy.c -rw-r--r-- 143 bytes
write_overflow_field-memcpy.c -rw-r--r-- 138 bytes
write_overflow_field-memmove.c -rw-r--r-- 139 bytes
write_overflow_field-memset.c -rw-r--r-- 137 bytes

back to top