>>> On 03/15/2019 08:28 AM, Stefano Brivio wrote: >>>> On Fri, 15 Mar 2019 23:18:52 +0800 >>>> Zhiqiang Liu <liuzhiqian...@huawei.com> wrote: >>>> >>>> >>>> NACK, please read my and Eric's comments to v1 -- giving me more than 23 >>>> minutes to answer would have been a nice touch as well :) >>>> >>> >>> Sorry for the confusion, I forgot to add the question marks to my sentences. >>> >>> In fact, this is a bug fix, that we missed in the previous fix. >>> >>> Technically the bug is older. >> >> Please elaborate. >> > > Commit ad6c9986bcb62 > ("vxlan: Fix GRO cells race condition between receive and link delete") > > fixed a race condition for the typical case a vxlan device is dismantled from > the > current netns. > > But if a netns is dismantled, we call vxlan_destroy_tunnels() > to schedule a unregister_netdevice_queue() of all the vxlan tunnels > that are related to this netns. > > This means that the gro_cells_destroy() call is done too soon, > for the same reasons explained in above commit . > > We need to fully respect the RCU rules, and thus must remove the > gro_cells_destroy() call or risk use after-free. > > The bug is day-0 I think. > > commit 58ce31cca1ffe057f4744c3f671e3e84606d3d4a > Author: Tom Herbert <t...@herbertland.com> > Date: Wed Aug 19 17:07:33 2015 -0700 > > vxlan: GRO support at tunnel layer >
Thank you for pointing out the real issueI will update the commit message and Fixes: tag as your explanation.