From: Ido Schimmel <ido...@mellanox.com> Date: Wed, 28 Jun 2017 09:03:12 +0300
> In case a VLAN device is enslaved to a bridge we shouldn't create a > router interface (RIF) for it when it's configured with an IP address. > This is already handled by the driver for other types of netdevs, such > as physical ports and LAG devices. > > If this IP address is then removed and the interface is subsequently > unlinked from the bridge, a NULL pointer dereference can happen, as the > original 802.1d FID was replaced with an rFID which was then deleted. > > To reproduce: > $ ip link set dev enp3s0np9 up > $ ip link add name enp3s0np9.111 link enp3s0np9 type vlan id 111 > $ ip link set dev enp3s0np9.111 up > $ ip link add name br0 type bridge > $ ip link set dev br0 up > $ ip link set enp3s0np9.111 master br0 > $ ip address add dev enp3s0np9.111 192.168.0.1/24 > $ ip address del dev enp3s0np9.111 192.168.0.1/24 > $ ip link set dev enp3s0np9.111 nomaster > > Fixes: 99724c18fc66 ("mlxsw: spectrum: Introduce support for router > interfaces") > Signed-off-by: Ido Schimmel <ido...@mellanox.com> > Reported-by: Petr Machata <pe...@mellanox.com> > Tested-by: Petr Machata <pe...@mellanox.com> > Reviewed-by: Petr Machata <pe...@mellanox.com> Applied and queued up for -stable, thanks.