[ovs-git] [openvswitch/ovs] d997f2: ofproto-dpif: Do not block on uninitialized pause ...

GitHub noreply at github.com
Fri Sep 25 22:29:05 UTC 2015


  Branch: refs/heads/master
  Home:   https://github.com/openvswitch/ovs
  Commit: d997f23fe5eb75003a0aaa37b3a6e6fae8ecfa03
      https://github.com/openvswitch/ovs/commit/d997f23fe5eb75003a0aaa37b3a6e6fae8ecfa03
  Author: Zoltan Kiss <zoltan.kiss at linaro.org>
  Date:   2015-09-25 (Fri, 25 Sep 2015)

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

  Log Message:
  -----------
  ofproto-dpif: Do not block on uninitialized pause barriers.

e4e74c3a "dpif-netdev: Purge all ukeys when reconfigure pmd." introduced a new
dp_purge_cb function, which calls udpif_pause_revalidators() and that tries to
block on pause_barrier.
But if OVS was started with flow-restore-wait="true" (e.g. through ovs-ctl),
type_run() will have backer->recv_set_enable == false, and udpif_set_threads
won't initialize the barrier, which leads to a segfault like this:

This patch introduces ofproto_dpif_backer_enabled(), which checks
recv_set_enable before touching the latch and blocking on pause_barrier.

Signed-off-by: Zoltan Kiss <zoltan.kiss at linaro.org>
Acked-by: Joe Stringer <joestringer at nicira.com>




More information about the git mailing list