Paul Chaignon's GSoC status report - #3 of 12
paul.chaignon at gmail.com
Mon Jun 17 19:47:57 UTC 2019
- 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  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.
- 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.
- 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.
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:
- if (debug_flag) error_msg(
- if (debug_flag) perror_msg(
More information about the Strace-devel