This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug dynamic-link/20839] New: Incomplete rollback of dynamic linker state on linking failure


https://sourceware.org/bugzilla/show_bug.cgi?id=20839

            Bug ID: 20839
           Summary: Incomplete rollback of dynamic linker state on linking
                    failure
           Product: glibc
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: dynamic-link
          Assignee: unassigned at sourceware dot org
          Reporter: fweimer at redhat dot com
  Target Milestone: ---
             Flags: security-

There are some cases in the implementation of dlopen where _dl_signal_error is
called without removing all partially-initialized link maps.  The downstream
bug report refers to an error raised from _dl_map_object in response to a
missing file (the final call to _dl_signal_error).  We do some cleanup, but it
seems we skip removal of a NODELETE object.

It's not clear to me if we should complete the initialization of the NODELETE
object, or somehow arrange that we are always in a situation in which we can
remove the NODELETE object without observable effects if we have to.  The
latter probably means that we cannot start running constructors and IFUNCs
until all objects in the current link operation have been found, mapped, and
all required ld.so data structures have at least been allocated.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]