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 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 [PATCH 1/5] lpm6: fix use after free of lpm in rte_lpm6_create [PATCH 2/5] lpm6: fix missing free of rules_tbl and lpm [PATCH 3/5] lpm: fix missing free of lpm [PATCH 4/5] lpm: fix use after free of lpm in rte_lpm_create* [PATCH 5/5] lpm: fix missing free of rules_tbl and lpm in diffstat: rte_lpm.c | 23 ++++++++++------------- rte_lpm6.c | 12 ++++++------ 2 files changed, 16 insertions(+), 19 deletions(-)