aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tools/perf/scripts/python/export-to-postgresql.py
diff options
context:
space:
mode:
authorKuniyuki Iwashima <kuniyu@amazon.com>2025-05-15 19:27:17 -0700
committerJakub Kicinski <kuba@kernel.org>2025-05-20 19:18:23 -0700
commitf1a8d107d91db7923518abd987ddcb3cd6ea6af4 (patch)
treeb9e08fa04da01f0abcd5b4aa4e5d97b274a30f24 /tools/perf/scripts/python/export-to-postgresql.py
parentMerge branch 'net-bcmgenet-64bit-stats-and-expose-more-stats-in-ethtool' (diff)
downloadwireguard-linux-f1a8d107d91db7923518abd987ddcb3cd6ea6af4.tar.xz
wireguard-linux-f1a8d107d91db7923518abd987ddcb3cd6ea6af4.zip
ipv6: Remove rcu_read_lock() in fib6_get_table().
Once allocated, the IPv6 routing table is not freed until netns is dismantled. fib6_get_table() uses rcu_read_lock() while iterating net->ipv6.fib_table_hash[], but it's not needed and rather confusing. Because some callers have this pattern, table = fib6_get_table(); rcu_read_lock(); /* ... use table here ... */ rcu_read_unlock(); [ See: addrconf_get_prefix_route(), ip6_route_del(), rt6_get_route_info(), rt6_get_dflt_router() ] and this looks illegal but is actually safe. Let's remove rcu_read_lock() in fib6_get_table() and pass true to the last argument of hlist_for_each_entry_rcu() to bypass the RCU check. Note that protection is not needed but RCU helper is used to avoid data-race. Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com> Link: https://patch.msgid.link/20250516022759.44392-2-kuniyu@amazon.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions