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/11754] RFE: dlopen of ET_EXEC file


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

John Reiser <jreiser at BitWagon dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|WONTFIX                     |---

--- Comment #14 from John Reiser <jreiser at BitWagon dot com> ---
(In reply to Florian Weimer from comment #13)
> We cannot support this because it is not possible to perform correct
> relocations if another executable has already been loaded.  There is also no
> way to correctly execute the ELF constructors of the second executable.

Please give specific examples or explanations why success (or a recognizable,
specific, and informative error code) is not possible.  The relocations of the
dl_open()ed ./hello32 are preformed correctly enough to invoke printf() through
the usual PLT (Program Linkage Table) [evidence in Comment #3], which directly
contradicts the claim of Comment #13.

The revised test case of the Description, and the revised patch in Comment #7
demonstrate that dl_open() of ET_EXEC can succeed.  The remark of Comment #9
tells how to determine [non-]conflict of address space.  Comment #13 has no
example or explanation why calling the DT_INIT* functions must fail.

> If you want to inject code into another executable, you can use LD_PRELOAD
> or LD_AUDIT, which does not have these problems.

Portions of the PT_INTERP and language-support run-time library initialization
run before any LD_PRELOAD or LD_AUDIT library.  The goal is complete control by
the auditor.  If there is to be any "injection of code", it will be
dl_open()ing the target executable into the auditor.

-- 
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]