Dynamic strings that backs 'match' and 'actions' are never destroyed and leaked on every lflow re-build cycle.
28,224 bytes in 126 blocks are definitely lost in loss record 494 of 498 at 0x483BD19: realloc (vg_replace_malloc.c:834) by 0x4AEF14: xrealloc (util.c:149) by 0x465533: ds_reserve (dynamic-string.c:63) by 0x46587B: ds_put_format_valist (dynamic-string.c:161) by 0x465956: ds_put_format (dynamic-string.c:142) by 0x42187F: build_ipv6_input_flows_for_lrouter_port (ovn-northd.c:11188) by 0x42187F: build_lswitch_and_lrouter_iterate_by_op (ovn-northd.c:11279) by 0x42187F: build_lswitch_and_lrouter_flows.constprop.0 (ovn-northd.c:11316) by 0x422503: build_lflows (ovn-northd.c:11398) by 0x42478D: ovnnb_db_run (ovn-northd.c:12334) by 0x42478D: ovn_db_run (ovn-northd.c:12927) by 0x408E84: main (ovn-northd.c:13333) Fixes: ddf9f1d71319 ("ovn-northd: reorganize processing of lflows") Signed-off-by: Ilya Maximets <i.maxim...@ovn.org> --- northd/ovn-northd.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/northd/ovn-northd.c b/northd/ovn-northd.c index 8ce756c8a..148d2a051 100644 --- a/northd/ovn-northd.c +++ b/northd/ovn-northd.c @@ -11296,6 +11296,9 @@ build_lswitch_and_lrouter_flows(struct hmap *datapaths, struct hmap *ports, } free(svc_check_match); + ds_destroy(&lsi.match); + ds_destroy(&lsi.actions); + /* Legacy lswitch build - to be migrated. */ build_lswitch_flows(datapaths, ports, lflows, mcgroups, igmp_groups, lbs); -- 2.25.4 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev