Poking a bit on autotest revealed a few shortcomings in the lpm allocation path. Thanks to the feedback to the first revision of the patches here v2. Also Oliver Matz spotted similar issues and made me aware - thanks! Integrating them revealed even more use after free / leak issues.
*updates in v4* - re-removing the { } on single line ifs accidentially droped in v3 - adding the ack of Oliver Matz *updates in v3* - lpm create/free path for v20 and v1604 got the same fixes that were already identified for lpm6 before *updates in v2* - lpm/lpm6 patches split - following dpdk coding guidelines regarding single line if's - adding singed-off and acked-bys gathered so far - combine all three related patches in one series Christian Ehrhardt (5): lpm6: fix use after free of lpm in rte_lpm6_create lpm6: fix missing free of rules_tbl and lpm lpm: fix missing free of lpm lpm: fix use after free of lpm in rte_lpm_create* lpm: fix missing free of rules_tbl and lpm in rte_lpm_free* lib/librte_lpm/rte_lpm.c | 24 ++++++++++-------------- lib/librte_lpm/rte_lpm6.c | 11 +++++------ 2 files changed, 15 insertions(+), 20 deletions(-) -- 2.7.3