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

Reply via email to