[PATCH] elf: Do not check for loader mmap on tst-decorate-maps (BZ 31553)

Simon Chopin simon.chopin@canonical.com
Mon Apr 22 14:58:39 GMT 2024


On lun. 22 avril 2024 10:11:47, Adhemerval Zanella Netto wrote:
> On 22/04/24 07:55, Simon Chopin wrote:
> > On mar. 26 mars 2024 10:47:42, Adhemerval Zanella wrote:
> >> On some architectures and depending on the page size, the loader can
> >> also allocate some memory during dependencies loading and it will be
> >> marked as 'loader malloc'.  However, if the system page size is
> >> large enough, the initial data page will be enough for all required
> >> allocation and there will be no extra loader mmap.  To avoid false
> >> negatives, the test does not check for such pages.
> >>
> >> Checked on powerpc64le-linux-gnu with 64k pagesize.
> >
> > Tested in similar conditions.
> > Altogether it looks good, I just have one minor whitespace nitpick.
> >

Reviewed-by: Simon Chopin <simon.chopin@canonical.com>

> >> ---
> >>  elf/tst-decorate-maps.c | 12 ++++++------
> >>  1 file changed, 6 insertions(+), 6 deletions(-)
> >>
> >> diff --git a/elf/tst-decorate-maps.c b/elf/tst-decorate-maps.c
> >> index 85ba5ce939..6d04344ba2 100644
> >> --- a/elf/tst-decorate-maps.c
> >> +++ b/elf/tst-decorate-maps.c
> >> @@ -56,7 +56,6 @@ struct proc_maps_t
> >>    int n_user_threads;
> >>    int n_arenas;
> >>    int n_malloc_mmap;
> >> -  int n_loader_malloc_mmap;
> >
> > OK
> >
> >>  };
> >>
> >>  static struct proc_maps_t
> >> @@ -82,8 +81,12 @@ read_proc_maps (void)
> >>  	r.n_arenas++;
> >>        else if (strstr (line, "[anon: glibc: malloc]") != NULL)
> >>  	r.n_malloc_mmap++;
> >> -      else if (strstr (line, "[anon: glibc: loader malloc]") != NULL)
> >> -	r.n_loader_malloc_mmap++;
> >> +      /* On some architectures and depending on the page size, the loader can
> >> +	 also allocate some memory during dependencies loading and it will be
> >> +	 marked as 'loader malloc'.  However, if the system page size is large
> >> +	 enough, the initial data page will be enough for all required
> >> +	 allocation and there will be no extra loader mmap.  To avoid false
> >> +	 negatives, the test does not check for such pages.  */
> >
> > Whitespace mixup here? The first line of the comment block appears to be
> > using a different indentation to the rest of the block.
>
> Hum, I used whitespace because it does not really fit for the indentation
> of the 'while'.  The rest of patch use tab because it then allows it.

Fair enough.

>
> >
> > Good call on leaving an explicit comment!
> >
> >>      }
> >>    free (line);
> >>    xfclose (f);
> >> @@ -148,8 +151,6 @@ do_test_threads (bool set_guard)
> >>      TEST_COMPARE (r.n_user_threads, num_user_threads);
> >>      TEST_COMPARE (r.n_arenas, expected_n_arenas);
> >>      TEST_COMPARE (r.n_malloc_mmap, 1);
> >> -    /* On some architectures the loader might use more than one page.  */
> >> -    TEST_VERIFY (r.n_loader_malloc_mmap >= 1);
> >
> > OK
> >
> >>    }
> >>
> >>    /* Let the threads finish.  */
> >> @@ -164,7 +165,6 @@ do_test_threads (bool set_guard)
> >>      TEST_COMPARE (r.n_user_threads, 0);
> >>      TEST_COMPARE (r.n_arenas, expected_n_arenas);
> >>      TEST_COMPARE (r.n_malloc_mmap, 1);
> >> -    TEST_VERIFY (r.n_loader_malloc_mmap >= 1);
> >
> > OK
> >
> >>    }
> >>
> >>    free (p);
> >> --
> >> 2.34.1
> >>


More information about the Libc-alpha mailing list