mirror of
https://github.com/opnsense/src.git
synced 2026-03-19 17:29:02 -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 e7951d0b04e6. Reported by: brooks Reviewed by: kib Pull Request: https://github.com/freebsd/freebsd-src/pull/908 MFC after: 1 week Sponsored by: Innovate UK (cherry picked from commit 36f0a34ca645d49ec79d60ea7e773374ef0991ea) |
||
|---|---|---|
| .. | ||
| arch | ||
| sys | ||
| tests | ||
| thread | ||
| libthr.3 | ||
| Makefile | ||
| Makefile.depend | ||
| plockstat.d | ||
| pthread.map | ||