[ovs-dev] [PATCH] ovn-controller: Cleanup memory in binding_evaluate_port_binding_changes
Dumitru Ceara
dceara at redhat.com
Tue Jun 11 14:57:29 UTC 2019
On Tue, Jun 11, 2019 at 4:48 PM Han Zhou <zhouhan at gmail.com> wrote:
>
>
>
> On Tue, Jun 11, 2019 at 5:09 AM Dumitru Ceara <dceara at redhat.com> wrote:
> >
> > The 'lport_to_iface' and 'egress_ifaces' hashtables were not cleaned up
> > in case a port binding was found that would require a recompute.
> >
> > Reported-at: https://mail.openvswitch.org/pipermail/ovs-discuss/2019-June/048822.html
> > Reported-by: Daniel Alvarez Sanchez <dalvarez at redhat.com>
> > Fixes: 9d0b504abdee ("ovn-controller: runtime_data change handler for SB port-binding")
> > CC: Han Zhou <hzhou8 at ebay.com>
> > Signed-off-by: Dumitru Ceara <dceara at redhat.com>
> > ---
> > ovn/controller/binding.c | 10 ++++++++--
> > 1 file changed, 8 insertions(+), 2 deletions(-)
> >
> > diff --git a/ovn/controller/binding.c b/ovn/controller/binding.c
> > index b62b3da..87d0b6d 100644
> > --- a/ovn/controller/binding.c
> > +++ b/ovn/controller/binding.c
> > @@ -695,6 +695,8 @@ binding_evaluate_port_binding_changes(
> > return true;
> > }
> >
> > + bool changed = false;
> > +
> > const struct sbrec_port_binding *binding_rec;
> > struct shash lport_to_iface = SHASH_INITIALIZER(&lport_to_iface);
> > struct sset egress_ifaces = SSET_INITIALIZER(&egress_ifaces);
> > @@ -718,10 +720,14 @@ binding_evaluate_port_binding_changes(
> > || is_our_chassis(chassis_rec, binding_rec,
> > active_tunnels, &lport_to_iface, local_lports)
> > || strcmp(binding_rec->type, "")) {
> > - return true;
> > + changed = true;
> > + break;
> > }
> > }
> > - return false;
> > +
> > + shash_destroy(&lport_to_iface);
> > + sset_destroy(&egress_ifaces);
> > + return changed;
> > }
> >
> > /* Returns true if the database is all cleaned up, false if more work is
> > --
> > 1.8.3.1
> >
> > _______________________________________________
> > dev mailing list
> > dev at openvswitch.org
> > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
> Thanks for the fix! This was my bad.
> The leak should be there regardless of recompute or not, so the commit message may be updated.
>
> Acked-by: Han Zhou <hzhou8 at ebay.com>
>
Thanks for the review. You're right, the commit log was wrong, i sent
an amended version:
https://patchwork.ozlabs.org/patch/1113901/
Cheers,
Dumitru
More information about the dev
mailing list