[LTP] [PATCH] [RFC] brk01: Rewrite from scratch.

Cyril Hrubis chrubis@suse.cz
Tue Dec 12 15:01:43 CET 2017


Hi!
> git format-patch has parameter "-B", that can make big rewrites
> more readable.

Will use it next time, thanks.

> diff --git a/testcases/kernel/syscalls/brk/brk01.c b/testcases/kernel/syscalls/brk/brk01.c
> index 2467ef6732a0..d77c000df105 100644
> --- a/testcases/kernel/syscalls/brk/brk01.c
> +++ b/testcases/kernel/syscalls/brk/brk01.c
> @@ -22,6 +22,7 @@
>  
>  #include "tst_test.h"
>  
> +void *ptr;
>  void verify_brk(void)
>  {
>         uintptr_t cur_brk, new_brk;
> @@ -65,6 +66,9 @@ void verify_brk(void)
>                 /* Try to write to the newly allocated heap */
>                 if (i % 3 == 0)
>                         *((char *)cur_brk) = 0;
> +               ptr = malloc(2*4096);
> +               printf("%p\n", ptr);
> +
>         }
>  
>         tst_res(TPASS, "brk() works fine");
> 
> $ ./brk01
> ...
> tst_test.c:1022: BROK: Test killed by SIGSEGV!
> 
> My concern is that glibc allocates something as result
> of tst_* calls (e.g. buffered I/O write) and then we
> either write over it or de-allocate it. I think we should
> drop/postpone first tst_res().

Sounds reasonably I'm okay with dropping the tst_res() in the middle of
the loop. I guess that doing any library calls between the brk() that
enlarges and shrinks the heap is dangerous indeed.

And we may also increse the heap size by a few pages before we start the
actual test just as a safety measure.

-- 
Cyril Hrubis
chrubis@suse.cz


More information about the ltp mailing list