[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20150610.220847.2245026709731181581.davem@davemloft.net>
Date: Wed, 10 Jun 2015 22:08:47 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: nikolay@...ulusnetworks.com
Cc: netdev@...r.kernel.org, stephen@...workplumber.org,
herbert@...dor.apana.org.au, razor@...ckwall.org
Subject: Re: [PATCH net v2] bridge: fix multicast router rlist endless loop
From: Nikolay Aleksandrov <nikolay@...ulusnetworks.com>
Date: Tue, 9 Jun 2015 10:23:57 -0700
> From: Nikolay Aleksandrov <razor@...ckwall.org>
>
> Since the addition of sysfs multicast router support if one set
> multicast_router to "2" more than once, then the port would be added to
> the hlist every time and could end up linking to itself and thus causing an
> endless loop for rlist walkers.
> So to reproduce just do:
> echo 2 > multicast_router; echo 2 > multicast_router;
> in a bridge port and let some igmp traffic flow, for me it hangs up
> in br_multicast_flood().
> Fix this by adding a check in br_multicast_add_router() if the port is
> already linked.
> The reason this didn't happen before the addition of multicast_router
> sysfs entries is because there's a !hlist_unhashed check that prevents
> it.
>
> Signed-off-by: Nikolay Aleksandrov <razor@...ckwall.org>
> Fixes: 0909e11758bd ("bridge: Add multicast_router sysfs entries")
> ---
> v2: implement Herbert's suggestion and add the check to
> br_multicast_add_router instead of changing the sysfs caller.
Applied and queued up for -stable, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists