[ovs-build] Failed: blp/ovs-reviews#356 (deadlock - 69a7109)
Travis CI
builds at travis-ci.org
Sat Apr 23 00:31:07 UTC 2016
Build Update for blp/ovs-reviews
-------------------------------------
Build: #356
Status: Failed
Duration: 2 minutes and 12 seconds
Commit: 69a7109 (deadlock)
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>
View the changeset: https://github.com/blp/ovs-reviews/compare/7f796a857838^...69a71094c679
View the full build log and details: https://travis-ci.org/blp/ovs-reviews/builds/125154369
--
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/20160423/56dbb6e3/attachment-0002.html>
More information about the build
mailing list