Comment 18 for bug 1842730

Revision history for this message
In , Cvs-commit (cvs-commit) wrote :

The master branch has been updated by Florian Weimer <email address hidden>:

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=f63b73814f74032c0e5d0a83300e3d864ef905e5

commit f63b73814f74032c0e5d0a83300e3d864ef905e5
Author: Florian Weimer <email address hidden>
Date: Wed Nov 13 15:44:56 2019 +0100

    Remove all loaded objects if dlopen fails, ignoring NODELETE [BZ #20839]

    This introduces a “pending NODELETE” state in the link map, which is
    flipped to the persistent NODELETE state late in dlopen, via
    activate_nodelete. During initial relocation, symbol binding
    records pending NODELETE state only. dlclose ignores pending NODELETE
    state. Taken together, this results that a partially completed dlopen
    is rolled back completely because new NODELETE mappings are unloaded.

    Tested on x86_64-linux-gnu and i386-linux-gnu.

    Change-Id: Ib2a3d86af6f92d75baca65431d74783ee0dbc292