[ovs-git] [openvswitch/ovs] 1969f0: ofproto-dpif-upcall: Avoid double-delete of ukeys.

GitHub noreply at github.com
Wed Jan 6 23:46:58 UTC 2016


  Branch: refs/heads/branch-2.5
  Home:   https://github.com/openvswitch/ovs
  Commit: 1969f09c93eab0b9c15b8fd8316f40c4e91dcedb
      https://github.com/openvswitch/ovs/commit/1969f09c93eab0b9c15b8fd8316f40c4e91dcedb
  Author: Ben Pfaff <blp at ovn.org>
  Date:   2016-01-06 (Wed, 06 Jan 2016)

  Changed paths:
    M ofproto/ofproto-dpif-upcall.c

  Log Message:
  -----------
  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 at gmail.com>
Reported-at: http://openvswitch.org/pipermail/discuss/2015-December/019772.html
CC: Joe Stringer <joe at ovn.org>
VMware-BZ: #1579057
Signed-off-by: Ben Pfaff <blp at ovn.org>
Tested-by: Ben Warren <ben at skyportsystems.com>




More information about the git mailing list