[ovs-dev] [PATCH 0/3] ovsdb-idl: Fix IDL use-after-free and memory leak issues.

Dumitru Ceara dceara at redhat.com
Tue Nov 24 12:16:06 UTC 2020


This series fixes 3 different issues:
- Patch1: memory leak of tracked old datum of reinserted orphan flows.
- Patch2: memory leak of tracked deleted "pure" orphan rows.
- Patch3: use after free of rows that became orphan after being deleted.

The 3 patches could probably be squashed into a single commit but to make
review easier they're kept separate.

Patches 1 and 3 don't add unit tests because I couldn't find a way to
express the required order of operations in ovsdb-idl.at.

The issue fixed by patch 2 is reproducible when runnning Ilya's OVS unit
test for orphaned weak references with valgrind:
https://patchwork.ozlabs.org/project/openvswitch/patch/20201123083747.4111444-1-i.maximets@ovn.org/

The issues fixed by patches 1 and 3 are reproducible when running OVN's
"59: ovn -- 2 HVs, 2 LRs connected via LS, gateway router" unit test
with Ilya's series to combine logical flows applied to OVN master:
http://patchwork.ozlabs.org/project/ovn/list/?series=214426

Dumitru Ceara (3):
      ovsdb-idl: Fix memleak when reinserting tracked orphan rows.
      ovsdb-idl: Fix memleak when deleting orphan rows.
      ovsdb-idl: Fix use-after-free when deleting orphaned rows.


 lib/ovsdb-idl.c |   41 +++++++++++++++++++++++++++--------------
 1 file changed, 27 insertions(+), 14 deletions(-)




More information about the dev mailing list