On Fri, Feb 19, 2021 at 6:29 PM 贺鹏 <xnhp0...@gmail.com> wrote: > > Hi, Ilya > > Ilya Maximets <i.maxim...@ovn.org> 于2021年2月19日周五 下午7:19写道: > > > > On 2/19/21 3:12 AM, 贺鹏 wrote: > > > Hi, > > > > > > Looks like this bug is caused by violating the fact that if a rule is > > > referenced, the related ofproto should not be destroyed. > > > > > > If so, I have a patch that also fixes the problem, not sure if this helps. > > > > > > http://patchwork.ozlabs.org/project/openvswitch/patch/20200717015041.82746-1-hepeng.0...@bytedance.com/ > > > > There is at least one more problem that is not strictly related but > > in more or less the same part of the code: > > https://mail.openvswitch.org/pipermail/ovs-dev/2021-February/380582.html > > So maybe before add it into *ovsrcu_postpone*, we should add refcount > of ofproto also? > Yes, I think that will fix the issue. But are we able to find out all the places that we need to add refcount of ofproto?
Looks like we might have multiple rcu postponed function that might access the 'ofproto'. And 'ofproto' might be freed already and cause segfault. Hepeng's patch fixes two places. http://patchwork.ozlabs.org/project/openvswitch/patch/20200717015041.82746-1-hepeng.0...@bytedance.com/ Ilya pointed out another place https://mail.openvswitch.org/pipermail/ovs-dev/2021-February/380582.html yifeng's case is a little different (not due to ofproto = NULL, but due to setting the p->connmgr = NULL before postponed) Regards, William _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev