From: Mahesh Bandewar <mah...@bandewar.net> Date: Wed, 21 Dec 2016 17:30:16 -0800
> From: Mahesh Bandewar <mahe...@google.com> > > In an IPvlan setup when master is set in loopback mode e.g. > > ethtool -K eth0 set loopback on > > where eth0 is master device for IPvlan setup. > > The failure is caused by the faulty logic that determines if the > packet is from TX-path vs. RX-path by just looking at the mac- > addresses on the packet while processing multicast packets. > > In the loopback-mode where this crash was happening, the packets > that are sent out are reflected by the NIC and are processed on > the RX path, but mac-address check tricks into thinking this > packet is from TX path and falsely uses dev_forward_skb() to pass > packets to the slave (virtual) devices. > > This patch records the path while queueing packets and eliminates > logic of looking at mac-addresses for the same decision. ... > Fixes: ba35f8588f47 ("ipvlan: Defer multicast / broadcast processing to a > work-queue") > Signed-off-by: Mahesh Bandewar <mahe...@google.com> This looks a lot better, applied, thanks.