diff options
| author | Kees Cook <kees@kernel.org> | 2026-10-06 01:56:27 -0700 |
|---|---|---|
| committer | Kees Cook <kees@kernel.org> | 2026-10-06 02:02:49 -0700 |
| commit | e32008340585a12783045c4426fbb963cfa11b7e (patch) | |
| tree | e86d81666317e2658d12ecfc988c1c4c834dcd11 /tools/perf/scripts/python/stackcollapse.py | |
| parent | 9e9bd8f8ac02012176f9da75823c030e2c5f4bbc (diff) | |
| download | linux-next-e32008340585a12783045c4426fbb963cfa11b7e.tar.gz linux-next-e32008340585a12783045c4426fbb963cfa11b7e.zip | |
selftests/seccomp: Split fork_and_close into clone and close tests
fork_and_close checked three things against one listener: that a
restarted clone3() creates exactly one child, that a restarted close()
releases its descriptor, and that a supervisor error reaches the caller
after a restart. A three-pass loop chose what each pass did for each
variant, and a failure in the first check kept the others from running.
Split it into notification_restart.clone and notification_restart.close,
each with one mediated syscall, one signal, and one expected result per
variant. They share helpers that fork the filtered child, receive its
listener, and interrupt its notification. notification_restart_child()
now uses the same fork and report helpers, and the filter flags are
computed in one place. Drop the supervisor error check, which
failed_receive already covers.
Tests run on ARCH=x86_64 defconfig with CONFIG_PROVE_LOCKING=y,
CONFIG_DEBUG_ATOMIC_SLEEP=y, and CONFIG_DEBUG_LIST=y under QEMU, built
with GCC 16.2.0: seccomp_bpf passes 137/137 with 5 skips, and the 28
notification_restart tests pass in 25 of 25 runs at -smp 2 and -smp 4.
On v7.3-rc2 the restart and both variants fail and the others pass.
Assisted-by: LLM
Signed-off-by: Kees Cook <kees@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
