On Fri, Mar 27, 2020 at 12:28:05PM -0700, Kees Cook wrote:
On Fri, Mar 27, 2020 at 10:36:20AM +0100, Andrea Righi wrote:
Avoid using /usr/bin/timeout unnecessarily if timeout is set to 0 (disabled) in the "settings" file for a specific test.
That seems to be a reasonable optimization, sure.
NOTE: without this change (and adding timeout=0 in the corresponding settings file - tools/testing/selftests/seccomp/settings) the seccomp_bpf selftest is always failing with a timeout event during the syscall_restart step.
This, however, is worrisome. I think there is something else wrong here. I will investigate why the output of seccomp_bpf is weird when running under the runner scripts. Hmmm. The output looks corrupted...
Running seccomp_bpf directly (without using runner.sh) shows this error:
$ sudo ./tools/testing/selftests/seccomp/seccomp_bpf ... seccomp_bpf.c:2839:global.syscall_restart:Expected true (1) == WIFSTOPPED(status) (0) global.syscall_restart: Test terminated by assertion
Instead, running it via /usr/bin/timeout (with timeout disabled):
$ sudo /usr/bin/timeout 0 ./tools/testing/selftests/seccomp/seccomp_bpf ... [ RUN ] TSYNC.siblings_fail_prctl
It gets stuck here forever, basically it's during the execution of syscall_restart().
I'll investigate more later.
Thanks, -Andrea