[asterisk-bugs] [Asterisk 0017188]: lack of locking in dahdi_request()
Asterisk Bug Tracker
noreply at bugs.digium.com
Tue Apr 27 12:16:53 CDT 2010
A NOTE has been added to this issue.
======================================================================
https://issues.asterisk.org/view.php?id=17188
======================================================================
Reported By: gknispel_proformatique
Assigned To: rmudgett
======================================================================
Project: Asterisk
Issue ID: 17188
Category: Channels/chan_dahdi
Reproducibility: have not tried
Severity: minor
Priority: normal
Status: assigned
Asterisk Version: SVN
JIRA: SWP-1307
Regression: No
Reviewboard Link:
SVN Branch (only for SVN checkouts, not tarball releases): 1.4
SVN Revision (number only!): 257341
Request Review:
======================================================================
Date Submitted: 2010-04-15 09:05 CDT
Last Modified: 2010-04-27 12:16 CDT
======================================================================
Summary: lack of locking in dahdi_request()
Description:
In dahdi_request(), iflist / ifend are acceded without any lock taken -- or
alternatively pri->crvs / pri->crvend are.
I don't know if/when those can be modified, especially regarding crv. For
iflist/ifend, maybe reloads are concerned, and also pseudo channels, which
I don't know what they are used for.
======================================================================
----------------------------------------------------------------------
(0120999) rmudgett (administrator) - 2010-04-27 12:16
https://issues.asterisk.org/view.php?id=17188#c120999
----------------------------------------------------------------------
The possibility of a problem resulting from this locking issue is very low.
The data structures are essentially static once they are setup. The times
they will change is when a channel is deleted by CLI command "dahdi destroy
channel", the cloned pseudo channel is hung up, and dahdi destroys the
channel from an event like a USB device disconnected.
It is already fixed in trunk because there is only only one interface list
to search.
This is a case where fixing it is not really worth it in the 1.4 and 1.6.x
branches.
1) It has not caused a problem.
2) It is a small window of opportunity while the needed list and lock is
determined.
3) The data structures are essentially static.
Issue History
Date Modified Username Field Change
======================================================================
2010-04-27 12:16 rmudgett Note Added: 0120999
======================================================================
More information about the asterisk-bugs
mailing list