Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ofproto-dpif-upcall: Avoid double-delete of ukeys.
revalidate_sweep__() has two cases where it calls ukey_delete() to remove a ukey from the umap via cmap_remove(). The first case is a direct call to ukey_delete(), when !flow_exists. The second case is an indirect call via push_ukey_ops(), when result != UKEY_KEEP. If both of these conditions are simultaneously true, however, the code would call ukey_delete() twice, causing an assertion failure in the second call. This commit fixes the problem by eliminating one of the calls. The version tested by Ben Warren differs from this version, see: http://openvswitch.org/pipermail/dev/2016-January/064117.html Reported-by: Keith Holleman <keith.holleman@gmail.com> Reported-at: http://openvswitch.org/pipermail/discuss/2015-December/019772.html CC: Joe Stringer <joe@ovn.org> VMware-BZ: #1579057 Signed-off-by: Ben Pfaff <blp@ovn.org> Tested-by: Ben Warren <ben@skyportsystems.com>
- Loading branch information