[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