libpjnath potential SEGV and suggested fix

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

First time posting to this list, and I've not lurked for long, so hopefully
no faux-pas below :)

The following references are from:
    pjnath/src/pjnath/stun_session.c
this SEGV can be seen when using Asterisk 11+ with JsSIP or similar clients
in a very small number of calls (1 in 10,000?) and can also be seen as a
100% CPU utilisation in some cases. It seems to have started due to an
optimisation in Chrome 47+ which triggers this timing-related problem.

In the STUN engine, a retransmit cache is maintained in
    sess->cached_response_list
When this linked-list of data is modified, the relevant lock
    sess->grp_lock
is held in all places except one.

A cache expiry timer is set on the above list, which fires
    on_cache_timeout()
to clean the cache after 10 (?) seconds. This function does not get the
group lock before trying to empty the list. I propose that the locks are
added as per the attached patch against 2.4.5.

Feedback obviously welcome. I have load- tested this patch here with great
success.

Regards,
Steve
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20160104/0c600c5b/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lock_stun_sess_on_pkt_timeout
Type: application/octet-stream
Size: 877 bytes
Desc: not available
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20160104/0c600c5b/attachment.obj>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux