[ovs-build] Broken: blp/ovs-reviews#364 (master - 0692257)

Travis CI builds at travis-ci.org
Tue May 10 00:14:34 UTC 2016


Build Update for blp/ovs-reviews
-------------------------------------

Build: #364
Status: Broken

Duration: 25 minutes and 52 seconds
Commit: 0692257 (master)
Author: Ben Pfaff
Message: netdev: Fix potential deadlock.

Until now, netdev_class_mutex and route_table_mutex could be taken in
either order:

    * netdev_run() takes netdev_class_mutex, then netdev_vport_run() calls
      route_table_run(), which takes route_table_mutex.

    * route_table_init() takes route_table_mutex and then eventually calls
      netdev_open(), which takes netdev_class_mutex.

This commit fixes the problem by converting the netdev_classes hmap,
protected by netdev_class_mutex, into a cmap protected on the read
side by RCU.  Only a very small amount of code actually writes to the
cmap in question, so it's a lot easier to understand the locking rules
at that point.  In particular, there's no need to take netdev_class_mutex
from either netdev_run() or netdev_open(), so neither of the code paths
above determines a lock ordering any longer.

Reported-by: William Tu <u9012063 at gmail.com>
Reported-at: http://openvswitch.org/pipermail/discuss/2016-February/020216.html
Signed-off-by: Ben Pfaff <blp at ovn.org>
Acked-by: Ryan Moats <rmoats at us.ibm.com>
Tested-by: William Tu <u9012063 at gmail.com>

View the changeset: https://github.com/blp/ovs-reviews/compare/cab07b63a1a0...0692257923fe

View the full build log and details: https://travis-ci.org/blp/ovs-reviews/builds/129001476

--

You can configure recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.openvswitch.org/pipermail/ovs-build/attachments/20160510/9d286c06/attachment-0002.html>


More information about the build mailing list