]> www.infradead.org Git - users/dwmw2/linux.git/commit
net: Lock netdevices during dev_shutdown
authorCosmin Ratiu <cratiu@nvidia.com>
Mon, 5 May 2025 19:47:13 +0000 (22:47 +0300)
committerJakub Kicinski <kuba@kernel.org>
Wed, 7 May 2025 01:31:32 +0000 (18:31 -0700)
commit08e9f2d584c4732180edee4cb2dbfa7586d7d5a3
tree2323946ca5233c8fe93e842e7989880e0208cd53
parent0093cb194a7511d1e68865fa35b763c72e44c2f0
net: Lock netdevices during dev_shutdown

__qdisc_destroy() calls into various qdiscs .destroy() op, which in turn
can call .ndo_setup_tc(), which requires the netdev instance lock.

This commit extends the critical section in
unregister_netdevice_many_notify() to cover dev_shutdown() (and
dev_tcx_uninstall() as a side-effect) and acquires the netdev instance
lock in __dev_change_net_namespace() for the other dev_shutdown() call.

This should now guarantee that for all qdisc ops, the netdev instance
lock is held during .ndo_setup_tc().

Fixes: a0527ee2df3f ("net: hold netdev instance lock during qdisc ndo_setup_tc")
Signed-off-by: Cosmin Ratiu <cratiu@nvidia.com>
Acked-by: Stanislav Fomichev <sdf@fomichev.me>
Link: https://patch.msgid.link/20250505194713.1723399-1-cratiu@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/core/dev.c