[asterisk-dev] [Code Review] 4342: CHANNEL(peer), chan_iax2, res_fax, SNMP agent: Fix deadlock from reaching across a bridge.

rmudgett reviewboard at asterisk.org
Wed Jan 14 16:25:34 CST 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4342/
-----------------------------------------------------------

(Updated Jan. 14, 2015, 4:25 p.m.)


Review request for Asterisk Developers.


Changes
-------

It is chan_iax2 not chan_iax.


Summary (updated)
-----------------

CHANNEL(peer), chan_iax2, res_fax, SNMP agent: Fix deadlock from reaching across a bridge.


Bugs: ASTERISK-24600
    https://issues.asterisk.org/jira/browse/ASTERISK-24600


Repository: Asterisk


Description (updated)
-------

Calling ast_channel_bridge_peer() cannot be done while holding any channel
locks.  The reported issue hit the deadlock in chan_iax2, but an audit of
the ast_channel_bridge_peer() calls found three more locations where the
same deadlock can occur.

* Made CHANNEL(peer), chan_iax2, res_fax, and the SNMP agent not call
ast_channel_bridge_peer() with any channel locked.  For CHANNEL(peer) and
chan_iax2 I had to rework the logic to not hold the channel lock.


Diffs
-----

  /branches/13/res/snmp/agent.c 430625 
  /branches/13/res/res_fax.c 430625 
  /branches/13/funcs/func_channel.c 430625 
  /branches/13/channels/chan_iax2.c 430625 

Diff: https://reviewboard.asterisk.org/r/4342/diff/


Testing
-------

Testsuite tests still pass for FAX.  The full testsuite didn't hit any deadlock.


Thanks,

rmudgett

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20150114/619c93f2/attachment.html>


More information about the asterisk-dev mailing list