On Wed, Nov 8, 2017 at 6:26 PM, David Miller <da...@davemloft.net> wrote: > From: Cong Wang <xiyou.wangc...@gmail.com> > Date: Mon, 6 Nov 2017 13:47:17 -0800 > >> This patchset tries to fix the race between call_rcu() and >> cleanup_net() again. Without holding the netns refcnt the >> tc_action_net_exit() in netns workqueue could be called before >> filter destroy works in tc filter workqueue. This patchset >> moves the netns refcnt from tc actions to tcf_exts, without >> breaking per-netns tc actions. >> >> Patch 1 reverts the previous fix, patch 2 introduces two new >> API's to help to address the bug and the rest patches switch >> to the new API's. Please see each patch for details. >> >> I was not able to reproduce this bug, but now after adding >> some delay in filter destroy work I manage to trigger the >> crash. After this patchset, the crash is not reproducible >> any more and the debugging printk's show the order is expected >> too. >> >> Fixes: ddf97ccdd7cb ("net_sched: add network namespace support for tc >> actions") >> Reported-by: Lucas Bates <luc...@mojatatu.com> >> Cc: Lucas Bates <luc...@mojatatu.com> >> Cc: Jamal Hadi Salim <j...@mojatatu.com> >> Cc: Jiri Pirko <j...@resnulli.us> >> Signed-off-by: Cong Wang <xiyou.wangc...@gmail.com> > > I have to say this was a lot of churn so late in the release > cycle.... but I ended up pulling anyways. > > I cannot guarantee that I will be able to push this to Linus > in time for 4.14-final. >
Yeah, it is kinda too late. I'd suggest you to just push the revert to Linus for 4.14 and defer the rest to 4.15, if it's doable... Thanks!