mirror of
https://github.com/opnsense/src.git
synced 2026-06-27 17:32:09 -04:00
Otherwise the lock upgrade performed by rtld's load_filtees() can result in infinite recursion, wherein: 1. _rtld_bind() acquires the bind read lock, 2. the source DSO's filtees haven't been loaded yet, so the lock upgrade in load_filtees() cause rtld to jump to _rtld_bind() and release the bind lock, 3. _thr_rtld_lock_release() calls _thr_ast(), which calls thr_wake(), which hasn't been resolved yet, 4. _rtld_bind() acquires the bind read lock in order to resolve thr_wake(), 5. ... See the linked pull request for an instance of this problem arising with libsys. That particular instance is also worked around by commit |
||
|---|---|---|
| .. | ||
| arch | ||
| sys | ||
| tests | ||
| thread | ||
| libthr.3 | ||
| Makefile | ||
| Makefile.depend | ||
| plockstat.d | ||
| pthread.map | ||