All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nikolay Aleksandrov <razor@blackwall.org>
To: Eric Dumazet <edumazet@google.com>
Cc: "David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Simon Horman <horms@kernel.org>,
	netdev@vger.kernel.org, eric.dumazet@gmail.com,
	Ido Schimmel <idosch@nvidia.com>
Subject: Re: [PATCH net-next] net: bridge: remove stale rcu_barrier() in br_multicast_dev_del()
Date: Tue, 19 May 2026 16:06:06 +0300	[thread overview]
Message-ID: <agxgPqDGkXspLZzJ@penguin> (raw)
In-Reply-To: <20260519095540.2643318-1-edumazet@google.com>

On Tue, May 19, 2026 at 09:55:40AM +0000, Eric Dumazet wrote:
> 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>
> ---
> Cc: Nikolay Aleksandrov <razor@blackwall.org>
> Cc: Ido Schimmel <idosch@nvidia.com>
> ---
>  net/bridge/br_multicast.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
> index 49ceea3ff9742d3043ac605d656b7fcf37dbcb96..8efa3add5d47508fb2b032ff6238ffbbabfd27ad 100644
> --- a/net/bridge/br_multicast.c
> +++ b/net/bridge/br_multicast.c
> @@ -4453,8 +4453,6 @@ void br_multicast_dev_del(struct net_bridge *br)
>  	br_multicast_ctx_deinit(&br->multicast_ctx);
>  	br_multicast_gc(&deleted_head);
>  	cancel_work_sync(&br->mcast_gc_work);
> -
> -	rcu_barrier();
>  }
>  
>  int br_multicast_set_router(struct net_bridge_mcast *brmctx, unsigned long val)
> -- 
> 2.54.0.563.g4f69b47b94-goog
> 

Acked-by: Nikolay Aleksandrov <razor@blackwall.org>

  parent reply	other threads:[~2026-05-19 13:06 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-19  9:55 [PATCH net-next] net: bridge: remove stale rcu_barrier() in br_multicast_dev_del() Eric Dumazet
2026-05-19 10:52 ` Jakub Sitnicki
2026-05-19 11:01 ` Ido Schimmel
2026-05-19 13:06 ` Nikolay Aleksandrov [this message]
2026-05-21  2:20 ` patchwork-bot+netdevbpf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=agxgPqDGkXspLZzJ@penguin \
    --to=razor@blackwall.org \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=eric.dumazet@gmail.com \
    --cc=horms@kernel.org \
    --cc=idosch@nvidia.com \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.