summaryrefslogtreecommitdiff
path: root/include/memory
diff options
context:
space:
mode:
authorKuniyuki Iwashima <kuniyu@google.com>2026-06-29 18:10:56 +0000
committerPaolo Abeni <pabeni@redhat.com>2026-07-01 18:42:33 +0200
commit763a9437101b9f6210bcfbfd72ce51eb90b7a56e (patch)
tree1eaba4a065d200a0cb65b6e3c56999e458da2ea7 /include/memory
parent4b8f5c974d14dc955b4252c02d5e4f185ddc9b23 (diff)
downloadlinux-next-763a9437101b9f6210bcfbfd72ce51eb90b7a56e.tar.gz
linux-next-763a9437101b9f6210bcfbfd72ce51eb90b7a56e.zip
ipv4: fib: Drop RTNL annotation for net->ipv4.fib_table_hash[].
fib_newrule() will drop RTNL except for the first IPv4 rule. net->ipv4.fib_table_hash[] will be read with no protection, but this is fine because fib_table is not destroyed until netns dismantle except for the merged main/local table. fib_unmerge() will continue to be called under RTNL, so other readers (fib_flush() and fib_info_notify_update()) just have to care about the concurrent hlist_add(). IPv6 and IPMR/IP6MR also take this strategy and use RCU helpers to avoid data race against concurrent hlist_add(). Let's not use lockdep_rtnl_is_held() and rcu_dereference_rtnl() for net->ipv4.fib_table_hash[]. Note that commit a7e53531234d ("fib_trie: Make fib_table rcu safe") started to use the _safe version in fib_flush(), but it is not needed thanks to RTNL. Signed-off-by: Kuniyuki Iwashima <kuniyu@google.com> Link: https://patch.msgid.link/20260629181226.1929658-5-kuniyu@google.com Reviewed-by: Ido Schimmel <idosch@nvidia.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'include/memory')
0 files changed, 0 insertions, 0 deletions