[ovs-git] [openvswitch/ovs] e34bbe: ofproto-dpif-upcall: Fix flow setup/delete race.

GitHub noreply at github.com
Mon Mar 27 19:56:36 UTC 2017


  Branch: refs/heads/master
  Home:   https://github.com/openvswitch/ovs
  Commit: e34bbe31b4f61bae48805165ce2c61e13715971c
      https://github.com/openvswitch/ovs/commit/e34bbe31b4f61bae48805165ce2c61e13715971c
  Author: Joe Stringer <joe at ovn.org>
  Date:   2017-03-27 (Mon, 27 Mar 2017)

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

  Log Message:
  -----------
  ofproto-dpif-upcall: Fix flow setup/delete race.

If a handler thread takes a long time to set up a set of flows, it is
possible for one of the installed flows to be dumped and scheduled
for deletion by a revalidator thread before the handler is able to
transition the ukey into an operational state---Between the
dpif_operate() above this function and the ukey lock / transition logic
modified by this patch.

Only transition the ukey for the flow if it wasn't already transitioned
to a later state by a revalidator thread.

Fixes: 54ebeff4c03d ("upcall: Track ukey states.")
Reported-by: Paul Blakey <paulb at mellanox.com>
Signed-off-by: Joe Stringer <joe at ovn.org>
Tested-by: Paul Blakey <paulb at mellanox.com>




More information about the git mailing list