[Bridge] [PATCH net] bridge: mdb: zero out the local br_ip variable before use

David Miller davem at davemloft.net
Wed Jul 8 23:11:26 UTC 2015


From: Nikolay Aleksandrov <razor at blackwall.org>
Date: Tue,  7 Jul 2015 15:55:56 +0200

> Since commit b0e9a30dd669 ("bridge: Add vlan id to multicast groups")
> there's a check in br_ip_equal() for a matching vlan id, but the mdb
> functions were not modified to use (or at least zero it) so when an
> entry was added it would have a garbage vlan id (from the local br_ip
> variable in __br_mdb_add/del) and this would prevent it from being
> matched and also deleted. So zero out the whole local ip var to protect
> ourselves from future changes and also to fix the current bug, since
> there's no vlan id support in the mdb uapi - use always vlan id 0.
> Example before patch:
> root at debian:~# bridge mdb add dev br0 port eth1 grp 239.0.0.1 permanent
> root at debian:~# bridge mdb
> dev br0 port eth1 grp 239.0.0.1 permanent
> root at debian:~# bridge mdb del dev br0 port eth1 grp 239.0.0.1 permanent
> RTNETLINK answers: Invalid argument
> 
> After patch:
> root at debian:~# bridge mdb add dev br0 port eth1 grp 239.0.0.1 permanent
> root at debian:~# bridge mdb
> dev br0 port eth1 grp 239.0.0.1 permanent
> root at debian:~# bridge mdb del dev br0 port eth1 grp 239.0.0.1 permanent
> root at debian:~# bridge mdb
> 
> Signed-off-by: Nikolay Aleksandrov <razor at blackwall.org>
> Fixes: b0e9a30dd669 ("bridge: Add vlan id to multicast groups")

Applied and queued up for -stable.


More information about the Bridge mailing list