On Thu, Sep 17, 2020 at 02:15:19PM +1000, Michael Ellerman wrote: > The test harness forks() a child to run each test. Both the parent and > the child print to stdout using libc functions. That can lead to > duplicated (or more) output if the libc buffers are not flushed before > forking. > > It's generally not seen when running programs directly, because stdout > will usually be line buffered when it's pointing to a terminal. > > This was noticed when running the seccomp_bpf test, eg: > > $ ./seccomp_bpf | tee test.log > $ grep -c "TAP version 13" test.log > 2 Oh thank you for tracking this down! I thought seccomp wasn't killing a child or something, and hadn't found it yet. :) Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> -- Kees Cook