[BZ 21357] unwind-dw2-fde: Call free() outside of unwind mutex
authorRabin Vincent <rabinv@axis.com>
Mon, 17 Apr 2017 15:03:44 +0000 (12:03 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Mon, 17 Apr 2017 15:03:44 +0000 (12:03 -0300)
commit2604882cefd3281679b8177245fdebc7061b8695
tree9c9f7ba9da605b92df7849ca7deba57e60dff3ac
parenta12ae89f860229cbe5ba91f1f9cf17cc5a9ede31
[BZ 21357] unwind-dw2-fde: Call free() outside of unwind mutex

__deregister_frame_info_bases() calls free() while holding a mutex which
is also used from _Unwind_Find_FDE().  This leads to a deadlock if
AddressSanitizer uses _Unwind_Backtrace() from its free()
implementation.

Checked on mips-linux-gnu and x86_64-linux-gnu.

[BZ #21357]
* sysdeps/generic/unwind-dw2-fde.c (__deregister_frame_info_bases):
Call free() outside of mutex.
ChangeLog
sysdeps/generic/unwind-dw2-fde.c