Message ID | 20240429191911.2552580-1-mic@digikod.net (mailing list archive) |
---|---|
Headers | show |
Series | Fix Kselftest's vfork() side effects | expand |
Shuah, could you please take this series in your tree and push it to next? This mainly fixes an issue in the pidfd tests and we should get this merged before the final 6.9 release. Thanks. Jakub, can you please review it? Mark, it would be good to have your Tested-by tags. :) On Mon, Apr 29, 2024 at 09:19:02PM +0200, Mickaël Salaün wrote: > Hi, > > As reported by Kernel Test Robot [1], some pidfd tests fail. This is > due to the use of vfork() which introduced some side effects. > Similarly, while making it more generic, a previous commit made some > Landlock file system tests flaky, and subject to the host's file system > mount configuration. > > This series fixes all these side effects by replacing vfork() with > clone3() and CLONE_VFORK, which is cleaner (no arbitrary shared memory) > and makes the Kselftest framework more robust. > > I tried different approaches and I found this one to be the cleaner and > less invasive for current test cases. > > This third series replace improve the clone3_vfork() helper and add > Reviewed-by tags. > > I successfully ran the following tests (using TEST_F and > fork/clone/clone3) with this series: > - landlock:fs_test > - landlock:net_test > - landlock:ptrace_test > - move_mount_set_group:move_mount_set_group_test > - net/af_unix:scm_pidfd > - perf_events:remove_on_exec > - pidfd:pidfd_getfd_test > - pidfd:pidfd_setns_test > - seccomp:seccomp_bpf > - user_events:abi_test > > [1] https://lore.kernel.org/oe-lkp/202403291015.1fcfa957-oliver.sang@intel.com > > Previous versions: > v1: https://lore.kernel.org/r/20240426172252.1862930-1-mic@digikod.net > v2: https://lore.kernel.org/r/20240429130931.2394118-1-mic@digikod.net > > Regards, > > Mickaël Salaün (9): > selftests/pidfd: Fix config for pidfd_setns_test > selftests/landlock: Fix FS tests when run on a private mount point > selftests/harness: Fix fixture teardown > selftests/harness: Fix interleaved scheduling leading to race > conditions > selftests/landlock: Do not allocate memory in fixture data > selftests/harness: Constify fixture variants > selftests/pidfd: Fix wrong expectation > selftests/harness: Share _metadata between forked processes > selftests/harness: Fix vfork() side effects > > tools/testing/selftests/kselftest_harness.h | 113 +++++++++++++----- > tools/testing/selftests/landlock/fs_test.c | 83 ++++++++----- > tools/testing/selftests/pidfd/config | 2 + > .../selftests/pidfd/pidfd_setns_test.c | 2 +- > 4 files changed, 135 insertions(+), 65 deletions(-) > > > base-commit: e67572cd2204894179d89bd7b984072f19313b03 > -- > 2.44.0 >
On Tue, 30 Apr 2024 15:54:38 +0200 Mickaël Salaün wrote:
> Jakub, can you please review it?
I looked thru it. I don't have the cycles to investigate and suggest
a better approach but the sprinkling of mmaps(), if nothing else, feels
a bit band-aid-y
On Tue, Apr 30, 2024 at 08:13:04AM -0700, Jakub Kicinski wrote: > On Tue, 30 Apr 2024 15:54:38 +0200 Mickaël Salaün wrote: > > Jakub, can you please review it? > > I looked thru it. I don't have the cycles to investigate and suggest > a better approach but the sprinkling of mmaps(), if nothing else, feels > a bit band-aid-y
On Tue, Apr 30, 2024 at 06:38:40PM +0200, Mickaël Salaün wrote: > On Tue, Apr 30, 2024 at 08:13:04AM -0700, Jakub Kicinski wrote: > > On Tue, 30 Apr 2024 15:54:38 +0200 Mickaël Salaün wrote: > > > Jakub, can you please review it? > > > > I looked thru it. I don't have the cycles to investigate and suggest > > a better approach but the sprinkling of mmaps(), if nothing else, feels > > a bit band-aid-y