v2+ of the original test patch exposed a ubsan failure in port tunnel id allocation code when tunnel id space is exhausted.
This series fixes the ubsan failure (patches 1-2); then adjusts the invalid scenario to trigger the originally intended failure mode - id space exhausted (patch 3). Finally, it includes a number of smaller cleanup patches in the area that simplify the allocation code somewhat. (patches 4-6) I attempted to make each patch as simple as possible, to simplify review. If you think it's too granular, let me know and I can squash some. v1: initial version. v2: cover both cases of hint = 0 and hint > max. v3: reduce the number of ports to create in the hint > max scenario needed to trigger the problem. v4: remove spurious lib/ovn-util.c change. v5: ubsan fixes included. v6: modify patch 5 to honor previously allocated tunnel ids. always detach op->list in build_ports (and never elsewhere.) v7: simplify pb cleanup logic in ls_port_init. Ihar Hrachyshka (6): northd: Don't cleanup op in ovn_port_allocate_key. northd: Don't detach op->list when it wasn't used. tests: Correct tunnel ids exhaustion scenario. northd: Don't create pb in ls_port_init too early. northd: Remove unused `sb` arg in ls_port_create. northd: Remove unused nbrp arg in ls_port_reinit. northd/northd.c | 58 ++++++++++++++++++++++++++------------------- tests/ovn-northd.at | 43 ++++++++++++++++++++++++++++++--- 2 files changed, 73 insertions(+), 28 deletions(-) -- 2.41.0 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev