Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

selftests/landlock: Test handling of unknown scope

Add a new ruleset_with_unknown_scope test designed to validate the
behaviour of landlock_create_ruleset(2) when called with an unsupported
or unknown scope mask.

Signed-off-by: Tahera Fahimi <fahimitahera@gmail.com>
Link: https://lore.kernel.org/r/74b363aaa7ddf80e1e5e132ce3d550a3a8bbf6da.1725494372.git.fahimitahera@gmail.com
Signed-off-by: Mickaël Salaün <mic@digikod.net>

authored by

Tahera Fahimi and committed by
Mickaël Salaün
5b6b63cd 21d52e29

+33
+33
tools/testing/selftests/landlock/scoped_test.c
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /* 3 + * Landlock tests - Common scope restriction 4 + * 5 + * Copyright © 2024 Tahera Fahimi <fahimitahera@gmail.com> 6 + */ 7 + 8 + #define _GNU_SOURCE 9 + #include <errno.h> 10 + #include <linux/landlock.h> 11 + #include <sys/prctl.h> 12 + 13 + #include "common.h" 14 + 15 + #define ACCESS_LAST LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET 16 + 17 + TEST(ruleset_with_unknown_scope) 18 + { 19 + __u64 scoped_mask; 20 + 21 + for (scoped_mask = 1ULL << 63; scoped_mask != ACCESS_LAST; 22 + scoped_mask >>= 1) { 23 + struct landlock_ruleset_attr ruleset_attr = { 24 + .scoped = scoped_mask, 25 + }; 26 + 27 + ASSERT_EQ(-1, landlock_create_ruleset(&ruleset_attr, 28 + sizeof(ruleset_attr), 0)); 29 + ASSERT_EQ(EINVAL, errno); 30 + } 31 + } 32 + 33 + TEST_HARNESS_MAIN