On Wed, Nov 8, 2017 at 6:26 PM, David Miller <[email protected]> wrote: > From: Cong Wang <[email protected]> > 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 <[email protected]> >> Cc: Lucas Bates <[email protected]> >> Cc: Jamal Hadi Salim <[email protected]> >> Cc: Jiri Pirko <[email protected]> >> Signed-off-by: Cong Wang <[email protected]> > > 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!
