From: Nikolay Aleksandrov <niko...@cumulusnetworks.com>
Date: Thu,  6 Jul 2017 15:24:40 +0300

> When destroying a VRF device we cleanup the slaves in its ndo_uninit()
> function, but that causes packets to be switched (skb->dev == vrf being
> destroyed) even though we're pass the point where the VRF should be
> receiving any packets while it is being dismantled. This causes a BUG_ON
> to trigger if we have raw sockets (trace below).
> The reason is that the inetdev of the VRF has been destroyed but we're
> still sending packets up the stack with it, so let's free the slaves in
> the dellink callback as David Ahern suggested.
> 
> Note that this fix doesn't prevent packets from going up when the VRF
> device is admin down.
 ...
> Fixes: 193125dbd8eb ("net: Introduce VRF device driver")
> Reported-by: Chris Cormier <chriscorm...@cumulusnetworks.com>
> Signed-off-by: Nikolay Aleksandrov <niko...@cumulusnetworks.com>

Applied and queued up for -stable, thanks!

Reply via email to