[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20170706.164700.338372660566786964.davem@davemloft.net>
Date: Thu, 06 Jul 2017 16:47:00 +0100 (WEST)
From: David Miller <davem@...emloft.net>
To: nikolay@...ulusnetworks.com
Cc: netdev@...r.kernel.org, chriscormier@...ulusnetworks.com,
dsahern@...il.com
Subject: Re: [PATCH net] vrf: fix bug_on triggered by rx when destroying a
vrf
From: Nikolay Aleksandrov <nikolay@...ulusnetworks.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 <chriscormier@...ulusnetworks.com>
> Signed-off-by: Nikolay Aleksandrov <nikolay@...ulusnetworks.com>
Applied and queued up for -stable, thanks!
Powered by blists - more mailing lists