[haiku-bugs] [Haiku] #5005: Reversed Locking Order in legacy_drivers.cpp

  • From: "bonefish" <trac@xxxxxxxxxxxxxxxx>
  • Date: Thu, 19 Nov 2009 21:57:47 -0000

#5005: Reversed Locking Order in legacy_drivers.cpp
---------------------------+------------------------------------------------
 Reporter:  bonefish       |       Owner:  axeld         
     Type:  bug            |      Status:  new           
 Priority:  normal         |   Milestone:  R1            
Component:  System/Kernel  |     Version:  R1/Development
 Keywords:                 |   Blockedby:                
 Platform:  All            |    Blocking:                
---------------------------+------------------------------------------------
 legacy_drivers.cpp calls {add,remove}_node_listener() for sDriverWatcher
 with sLock held. DriverWatcher::EventOccured() acquires sLock, too. Since
 the node monitoring service has an internal lock it acquires in
 {add,remove}_node_listener() and also holds when calling the listeners'
 EventOccurred(), we have contradicting locking orders for the two cases.

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/5005>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: