diff options
author | Eric Dumazet <edumazet@google.com> | 2024-03-06 16:51:44 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2024-03-08 12:15:36 +0100 |
commit | 155549a6683b1ee37cecec1bd4a439083b706656 (patch) | |
tree | 00589300abacc2ac5f8274e6ef6afa7f0fc80bab /net/ipv6/addrconf.c | |
parent | ipv6: use xa_array iterator to implement inet6_dump_addr() (diff) | |
download | linux-155549a6683b1ee37cecec1bd4a439083b706656.tar.xz linux-155549a6683b1ee37cecec1bd4a439083b706656.zip |
ipv6: remove RTNL protection from inet6_dump_addr()
We can now remove RTNL acquisition while running
inet6_dump_addr(), inet6_dump_ifmcaddr()
and inet6_dump_ifacaddr().
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/addrconf.c')
-rw-r--r-- | net/ipv6/addrconf.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 4359e4910249..247bd4d8ee45 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -7454,15 +7454,18 @@ int __init addrconf_init(void) goto errout; err = rtnl_register_module(THIS_MODULE, PF_INET6, RTM_GETADDR, inet6_rtm_getaddr, inet6_dump_ifaddr, - RTNL_FLAG_DOIT_UNLOCKED); + RTNL_FLAG_DOIT_UNLOCKED | + RTNL_FLAG_DUMP_UNLOCKED); if (err < 0) goto errout; err = rtnl_register_module(THIS_MODULE, PF_INET6, RTM_GETMULTICAST, - NULL, inet6_dump_ifmcaddr, 0); + NULL, inet6_dump_ifmcaddr, + RTNL_FLAG_DUMP_UNLOCKED); if (err < 0) goto errout; err = rtnl_register_module(THIS_MODULE, PF_INET6, RTM_GETANYCAST, - NULL, inet6_dump_ifacaddr, 0); + NULL, inet6_dump_ifacaddr, + RTNL_FLAG_DUMP_UNLOCKED); if (err < 0) goto errout; err = rtnl_register_module(THIS_MODULE, PF_INET6, RTM_GETNETCONF, |