]> git.baikalelectronics.ru Git - kernel.git/commit
net: allow out-of-order netdev unregistration
authorJakub Kicinski <kuba@kernel.org>
Tue, 15 Feb 2022 22:53:10 +0000 (14:53 -0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 17 Feb 2022 16:22:21 +0000 (08:22 -0800)
commit9c0e24941de2039b7fa4d55cfe0ae40be0b07289
tree181a9c75669af333b939a5207274392ad6401f36
parent1cf06f3527644528e27369f3994c1c297f112111
net: allow out-of-order netdev unregistration

Sprinkle for each loops to allow netdevices to be unregistered
out of order, as their refs are released.

This prevents problems caused by dependencies between netdevs
which want to release references in their ->priv_destructor.
See commit e6a71f2f7d4c ("vlan: move dev_put into vlan_dev_uninit")
for example.

Eric has removed the only known ordering requirement in
commit f9522a92a634 ("Merge branch 'ipv6-loopback'")
so let's try this and see if anything explodes...

Reviewed-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Xin Long <lucien.xin@gmail.com>
Link: https://lore.kernel.org/r/20220215225310.3679266-2-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/core/dev.c