This rcu_barrier() came from a time call_rcu() calls were used in
net/bridge/br_multicast.c.
Now kfree_rcu() is there, we can remove this problematic rcu_barrier()
which causes extreme RTNL pressure in many syzbot reports.
INFO: task syz-executor:77945 is blocked on a mutex likely owned by task kworker/u1024:5:36537.
task:kworker/u1024:5 state:D stack:24616 pid:36537 tgid:36537 ppid:2 task_flags:0x4208060 flags:0x00080000 last_sleep:
612797637337
Workqueue: netns cleanup_net
Call Trace:
<TASK>
[<
ffffffff81914eaa>] context_switch+0xf2a/0x1730 kernel/sched/core.c:6483
[<
ffffffff81201143>] __schedule+0x1133/0x43a0 kernel/sched/core.c:8411
[<
ffffffff8120446b>] __schedule_loop kernel/sched/core.c:8514 [inline]
[<
ffffffff8120446b>] schedule+0xab/0x260 kernel/sched/core.c:8529
[<
ffffffff8121a093>] schedule_timeout+0xc3/0x2b0 kernel/time/sleep_timeout.c:75
[<
ffffffff81205347>] do_wait_for_common kernel/sched/completion.c:100 [inline]
[<
ffffffff81205347>] __wait_for_common kernel/sched/completion.c:121 [inline]
[<
ffffffff81205347>] wait_for_common kernel/sched/completion.c:132 [inline]
[<
ffffffff81205347>] wait_for_completion+0x2c7/0x5d0 kernel/sched/completion.c:153
[<
ffffffff81b8f27f>] rcu_barrier+0x49f/0x620 kernel/rcu/tree.c:3888
[<
ffffffff860091b3>] br_multicast_dev_del+0x303/0x350 net/bridge/br_multicast.c:4459
[<
ffffffff85fb5dbc>] br_dev_uninit+0x1c/0x40 net/bridge/br_device.c:157
[<
ffffffff8568058c>] unregister_netdevice_many_notify+0x1c1c/0x2300 net/core/dev.c:12599
[<
ffffffff8562be43>] ops_exit_rtnl_list net/core/net_namespace.c:187 [inline]
[<
ffffffff8562be43>] ops_undo_list+0x3d3/0x940 net/core/net_namespace.c:248
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Jakub Sitnicki <jakub@cloudflare.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Acked-by: Nikolay Aleksandrov <razor@blackwall.org>
Link: https://patch.msgid.link/20260519095540.2643318-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>