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 3 doesn'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/[email protected]/

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 +++++++++++++++++++++++++++--------------
 tests/ovsdb-idl.at |   52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 79 insertions(+), 14 deletions(-)


---
V2:
- Patch1:
  - Add test case trigerring the leak.
  - Rephrase commit log.
- Patch3:
  - Correct "Fixes" tag.

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to