Paul Chaignon's GSoC status report - #3 of 12

Paul Chaignon paul.chaignon at gmail.com
Mon Jun 17 19:47:57 UTC 2019


Hi all,

Accomplishments:
- Reworked the commit history to prepare my status option patchset.
- Fixed status-exited and status-none tests. Output from child processes
  was missing when launched as part of the test suite because I needed to
  disable buffering (setvbuf(..._IONBF...)).
- Wrote the documentation for new status option.
- Sent a patch for missing debug_msgs I had spotted while working on the
  patchset. I took this opportunity to configure Coccinelle [1, 2] for
  strace. I wrote a small script to fix missing debug_msgs [3] and will
  extend it as I find other such fixes. (Suggestions for code patterns to
  find/replace are welcome!)
- Did several manual tests by changing the default value for -estatus (cf.
  v4 patchset).
- Finally sent the v4 of the status patchset!
- Started manually testing seccomp patchset.  My approach is the same as
  above: I changed strace to default to seccomp filtering, ran the test
  suite, and I am now debugging failing test cases.  Tracing currently
  fails when the tracee uses ptrace(2).  There is also a failure for
  times.gen, which is failing with ENOSYS, as if the BPF program returned
  RET_TRACE but tracer was absent.  My guess (was still checking just
  before writing this) is that we're failing to properly set the invariant
  enable_seccomp_filtering => followfork > 0.

Priorities:
- Finish debugging failing tests under seccomp.
- Add test cases for seccomp's corner cases.  I am keeping a list of
  interesting cases as I go through the failing test cases.

Paul

1 - https://www.kernel.org/doc/html/v4.14/dev-tools/coccinelle.html
2 - http://coccinelle.lip6.fr/papers/tutorial_kvm.pdf
3 - SmPL script for Coccinelle:
@debug_msg@
@@

- if (debug_flag) error_msg(
+ debug_msg(
...
  );

@debug_perror_msg@
@@

- if (debug_flag) perror_msg(
+ debug_perror_msg(
...
  );


More information about the Strace-devel mailing list