On Thu, Sep 30, 2021 at 11:27 AM Florian Weimer wrote: > > * H. J. Lu: > > > do_dlopen calls _dl_open with nsid == __LM_ID_CALLER (-2), which calls > > dl_open_worker with args.nsid = nsid. dl_open_worker updates args.nsid > > if it is __LM_ID_CALLER. After dl_open_worker returns, use args.nsid > > instead of nsid. This fixes BZ #27609. > > --- > > elf/dl-open.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/elf/dl-open.c b/elf/dl-open.c > > index a25443f6d1..5295e931b0 100644 > > --- a/elf/dl-open.c > > +++ b/elf/dl-open.c > > @@ -886,7 +886,7 @@ no more namespaces available for dlmopen()")); > > /* Avoid keeping around a dangling reference to the libc.so link > > map in case it has been cached in libc_map. */ > > if (!args.libc_already_loaded) > > - GL(dl_ns)[nsid].libc_map = NULL; > > + GL(dl_ns)[args.nsid].libc_map = NULL; > > > > /* Remove the object from memory. It may be in an inconsistent > > state if relocation failed, for example. */ > > Patch looks okay. But could you reference the fixed commit in the > commit message? > Done. Here is the patch I am checking in. Thanks. -- H.J.