On 7/6/17 6:24 AM, Nikolay Aleksandrov wrote:
> 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.
...

> Fixes: 193125dbd8eb ("net: Introduce VRF device driver")
> Reported-by: Chris Cormier <chriscorm...@cumulusnetworks.com>
> Signed-off-by: Nikolay Aleksandrov <niko...@cumulusnetworks.com>
> ---
>  drivers/net/vrf.c | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
> 

Thanks for the fix.

Acked-by: David Ahern <dsah...@gmail.com>

Reply via email to