This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Clear GL(dl_initfirst) when freeing its link_map memory [BZ# 25396]
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Siddhesh Poyarekar <siddhesh at gotplt dot org>
- Cc: Florian Weimer <fweimer at redhat dot com>, GNU C Library <libc-alpha at sourceware dot org>
- Date: Thu, 16 Jan 2020 07:49:39 -0800
- Subject: Re: [PATCH] Clear GL(dl_initfirst) when freeing its link_map memory [BZ# 25396]
- References: <CAMe9rOqOiaOcsZ=FQWSo6YPiAadX1X=Dgnvxzu5GAwB2mzJAcg@mail.gmail.com> <87v9pbsb6a.fsf@oldenburg2.str.redhat.com> <c550d476-a4c2-3867-ebb4-6bf9aa2ceb42@gotplt.org>
On Thu, Jan 16, 2020 at 7:34 AM Siddhesh Poyarekar <siddhesh@gotplt.org> wrote:
>
> On 16/01/20 8:25 pm, Florian Weimer wrote:
> >> From de86cd3ee3a4fdc072cbcfa1b87abcdba472263f Mon Sep 17 00:00:00 2001
> >> From: "H.J. Lu" <hjl.tools@gmail.com>
> >> Date: Thu, 16 Jan 2020 06:45:36 -0800
> >> Subject: [PATCH] Clear GL(dl_initfirst) when freeing its link_map memory [BZ#
> >> 25396]
> >>
> >> We should clear GL(dl_initfirst) when freeing its link_map memory.
> >>
> >> Tested on Fedora 31/x86-64 with CET.
> >> ---
> >> elf/dl-close.c | 4 ++++
> >> 1 file changed, 4 insertions(+)
> >>
> >> diff --git a/elf/dl-close.c b/elf/dl-close.c
> >> index 104c299209..73b2817bbf 100644
> >> --- a/elf/dl-close.c
> >> +++ b/elf/dl-close.c
> >> @@ -756,6 +756,10 @@ _dl_close_worker (struct link_map *map, bool force)
> >> if (imap->l_runpath_dirs.dirs != (void *) -1)
> >> free (imap->l_runpath_dirs.dirs);
> >>
> >> + /* Clear GL(dl_initfirst) when freeing its link_map memory. */
> >> + if (imap == GL(dl_initfirst))
> >> + GL(dl_initfirst) = NULL;
> >> +
> >> free (imap);
> >> }
> >> }
> >
> > Thanks, looks good to me.
> >
> > Siddhesh, is this okay for master? And my test case as well?
> >
> > <https://sourceware.org/ml/libc-alpha/2020-01/msg00320.html>
> >
>
> OK for master, I've reviewed and approved the test case too.
>
>
Done.
Thanks.
--
H.J.