]> www.infradead.org Git - users/jedix/linux-maple.git/commit
net: move replay logic to tc_modify_qdisc
authorStanislav Fomichev <sdf@fomichev.me>
Tue, 25 Mar 2025 17:54:27 +0000 (10:54 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 27 Mar 2025 17:18:48 +0000 (10:18 -0700)
commit2eb6c6a34cb1c22b09b219390cdff0f02cd90258
tree91b7845d708b07b594d3c8e41653793ceb331113
parent67d1a8956d2d62fe6b4c13ebabb57806098511d8
net: move replay logic to tc_modify_qdisc

Eric reports that by the time we call netdev_lock_ops after
rtnl_unlock/rtnl_lock, the dev might point to an invalid device.
As suggested by Jakub in [0], move rtnl lock/unlock and request_module
outside of qdisc_create. This removes extra complexity with relocking
the netdev.

0: https://lore.kernel.org/netdev/20250325032803.1542c15e@kernel.org/

Fixes: a0527ee2df3f ("net: hold netdev instance lock during qdisc ndo_setup_tc")
Reported-by: Eric Dumazet <edumazet@google.com>
Link: https://lore.kernel.org/netdev/20250305163732.2766420-1-sdf@fomichev.me/T/#me8dfd778ea4c4463acab55644e3f9836bc608771
Signed-off-by: Stanislav Fomichev <sdf@fomichev.me>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Link: https://patch.msgid.link/20250325175427.3818808-1-sdf@fomichev.me
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/sched/sch_api.c