From: Jon Maloy <[email protected]>
Date: Fri, 17 Jun 2016 06:35:57 -0400

> We sometimes observe a 'deadly embrace' type deadlock occurring
> between mutually connected sockets on the same node. This happens
> when the one-hour peer supervision timers happen to expire
> simultaneously in both sockets.
> 
> The scenario is as follows:
 ...
> Further analysis reveals that there are three different locations in the
> socket code where tipc_sk_respond() is called within the context of the
> socket lock, with ensuing risk of similar deadlocks.
> 
> We now solve this by passing a buffer queue along with all upcalls where
> sk_lock.slock may potentially be held. Response or rejected message
> buffers are accumulated into this queue instead of being sent out
> directly, and only sent once we know we are safely outside the slock
> context.
> 
> Reported-by: GUNA <[email protected]>
> Acked-by: Ying Xue <[email protected]>
> Signed-off-by: Jon Maloy <[email protected]>

Applied, thanks Jon.

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports. http://sdm.link/zohomanageengine
_______________________________________________
tipc-discussion mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tipc-discussion

Reply via email to