[ovs-git] [openvswitch/ovs] 900642: ofproto-dpif-xlate: Avoid deadlock on multicast sn...

GitHub noreply at github.com
Mon Oct 15 17:52:29 UTC 2018


  Branch: refs/heads/branch-2.10
  Home:   https://github.com/openvswitch/ovs
  Commit: 9006428ea5f3ac4526aefd3f66ef6f11d1dbe1cd
      https://github.com/openvswitch/ovs/commit/9006428ea5f3ac4526aefd3f66ef6f11d1dbe1cd
  Author: Ben Pfaff <blp at ovn.org>
  Date:   2018-10-15 (Mon, 15 Oct 2018)

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

  Log Message:
  -----------
  ofproto-dpif-xlate: Avoid deadlock on multicast snooping recursion.

Until now, OVS did multicast snooping outputs holding the read-lock on
the mcast_snooping object.  This could recurse via a patch port to try to
take the write-lock on the same object, which deadlocked.  This patch fixes
the problem, by releasing the read-lock before doing any outputs.

It would probably be better to use RCU for mcast_snooping.  That would be
a bigger patch and less suitable for backporting.

Reported-by: Sameh Elsharkawy
Reported-at: https://github.com/openvswitch/ovs-issues/issues/153
Signed-off-by: Ben Pfaff <blp at ovn.org>



      **NOTE:** This service has been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.


More information about the git mailing list