Hi Andre,
On Wed, Aug 09, 2023 at 06:04:33PM +0100, Andre Przywara wrote:
When naively running all kselftests on some systems, it was observed that the landlock selftest is quite picky and reports failures, even though the system is fine.
Indeed, the current Landlock test suite only checks for the Landlock ABI of the same source tree as the kselftest files, hence the strict abi_version test.
Those two patches relax some tests to make them pass on older kernels:
- The landlock ABI version is only "3" in recent kernels, so patch 1/2 relaxes the test to accept other numbers.
- Older kernels or some defconfig based kernels might not implement the landlock syscall at all. Patch 2/2 catches this.
I couldn't find an easy way to not check for the syscall availability in *every* test in base_test.c, short of not using TEST_HARNESS_MAIN at all. If someone has a better idea, I am all ears, especially as this approach will get quite annoying in fs_base.c.
I'd like to take such changes but we need to be more generic, and if possible avoid being too verbose.
For the more generic part, tests should be skipped according to the Landlock ABI of the running kernel: i.e. a test should pass iff ABI >= N.
For the verbosity improvements, we can rely on new macros as explain in the following email.
Cheers, Andre
Andre Przywara (2): selftests: landlock: allow other ABI versions selftests: landlock: skip all tests without landlock syscall
tools/testing/selftests/landlock/base_test.c | 29 +++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-)
-- 2.25.1