[SRU][E][PATCH 0/2] kselftest: properly use timeout

Andrea Righi andrea.righi at canonical.com
Fri Apr 10 10:55:16 UTC 2020


BugLink: https://bugs.launchpad.net/bugs/1872047

[Impact]

While running seccomp_bpf, kill_after_ptrace() gets stuck if we run it
via /usr/bin/timeout (that is the default), until the timeout expires.

This is because /usr/bin/timeout is preventing to properly deliver
signals to ptrace'd children (SIGSYS in this case).

[Test case]

This problem can be easily reproduced by running:

 $ sudo make TARGETS=seccomp kselftest
 ...

 # [ RUN ] TRACE_syscall.skip_a#
 not ok 1 selftests: seccomp: seccomp_bpf # TIMEOUT

The test is hanging at this point until the timeout expires and then it
reports the timeout error.

[Fix]

This problem can be prevented by passing --foreground to
/usr/bin/timeout, allowing to properly deliver signals to children
processes.

In addition to that make sure to use /usr/bin/timeout only when it's
needed (this is addressed by PATCH 2/2): when timeout is set to 0 (no
timeout) via the file 'settings', simply run the test without using
/usr/bin/timeout.

[Regression potential]

These two fixes are not upsteam (not yet), but they are trivial and they
are affecting only the selftest infrastructure, so regression potential
is minimal.

----------------------------------------------------------------
Andrea Righi (2):
      UBUNTU: SAUCE: kselftest/runner: avoid using timeout if timeout is disabled
      UBUNTU: SAUCE: kselftest/runner: allow to properly deliver signals to tests

 tools/testing/selftests/kselftest/runner.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)




More information about the kernel-team mailing list