[LTP] [PATCH v2] syscalls/ioctl_ns0[156]: align stack and wait for child

Jan Stancek jstancek@redhat.com
Wed Jun 12 16:25:49 CEST 2019


----- Original Message -----
> Hi!
> > Test crashes (SIGBUS) when using child stack have been observed for
> > ioctl_ns01. Align stack to 64 bytes for all testcases using clone,
> > which should work for any arch.
> 
> Looking at the rest of the test it seems that all of them use malloc()
> to allocate the child stack and depends on the libc to align the
> buffers, maybe it would be easier to change these tests to use malloc()
> as well.

Default alignment is not enough:
  Alignment:                              2 * sizeof(size_t) (default)
       (i.e., 8 byte alignment with 4byte size_t). This suffices for
       nearly all current machines and C compilers. However, you can
       define MALLOC_ALIGNMENT to be wider than this if necessary.

I'm guessing most of tests cross M_MMAP_THRESHOLD, and get page alignment
from mmap. But should we rely on that?

How about posix_memalign()?

> 
> > Add SIGCHLD to clone flags, so that LTP library can reap all children
> > and check their return code.  Also check ltp_clone() return value.
> > 
> > Suppress warning for unused *arg in child().
> 
> The rest is OK.
> 
> --
> Cyril Hrubis
> chrubis@suse.cz
> 


More information about the ltp mailing list