HomeFreeBSD

rtld: Ensure that dlopen() cannot obtain a reference on a doomed object.

Description

rtld: Ensure that dlopen() cannot obtain a reference on a doomed object.

rtld drops the bind lock to call fini functions in an object prior to
unmapping it. The new "doomed" state flag prevents the acquisition of new
references for an object while the lock is dropped.

Reviewed by: kib
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

Details

Provenance
markjAuthored on
Reviewer
kib
Parents
rS310420: rtld: Fix a race between dl_iterate_phdr() and dlclose().
Branches
Unknown
Tags
Unknown