Re: [PATCH] net: bridge: mcast: don't truncate the port group walk on teardown

Jun Yang <[email protected]>
Newsgroups gmane.linux.network.bridge,gmane.linux.kernel.stable,gmane.linux.network,gmane.linux.kernel
Message-ID <[email protected]>
On 12/08/2026 15:21, Nikolay Aleksandrov wrote:
>> +	/* use _rcu to preserve the next pointer because it might be in use */
>> +	hlist_del_init_rcu(&pg->mglist);
> Just to be clear - I'd expand the comment to include why it is safe to do
> so and under what conditions (multicast_lock held)

Thanks Nik, that is much nicer than the restart/checks dance.
hlist_del_init_rcu() works - the UAF splat is gone (7.2 + KASAN).

Before I spin anything: would you like me to send a v2 with your suggestion,
or will you fold it into the open-coded-list cleanup you mentioned? It is a
UAF with a Fixes/stable tag, so a minimal v2 now may be the easier backport,
but I am happy to leave it to your series.

If you do want the v2, here is the expanded comment I would use:

	/* Keep ->next (held under multicast_lock, freed later by the GC work):
	 * a port->mglist teardown walk may have latched this node as its next,
	 * and deleting other groups of the same port must not truncate it.
	 */

Thanks,
Jun
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.