]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
selftests/landlock: Test handling of unknown scope
authorTahera Fahimi <fahimitahera@gmail.com>
Thu, 5 Sep 2024 00:13:56 +0000 (18:13 -0600)
committerMickaël Salaün <mic@digikod.net>
Mon, 16 Sep 2024 21:50:48 +0000 (23:50 +0200)
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>
tools/testing/selftests/landlock/scoped_test.c [new file with mode: 0644]

diff --git a/tools/testing/selftests/landlock/scoped_test.c b/tools/testing/selftests/landlock/scoped_test.c
new file mode 100644 (file)
index 0000000..2d15f09
--- /dev/null
@@ -0,0 +1,33 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Landlock tests - Common scope restriction
+ *
+ * Copyright © 2024 Tahera Fahimi <fahimitahera@gmail.com>
+ */
+
+#define _GNU_SOURCE
+#include <errno.h>
+#include <linux/landlock.h>
+#include <sys/prctl.h>
+
+#include "common.h"
+
+#define ACCESS_LAST LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET
+
+TEST(ruleset_with_unknown_scope)
+{
+       __u64 scoped_mask;
+
+       for (scoped_mask = 1ULL << 63; scoped_mask != ACCESS_LAST;
+            scoped_mask >>= 1) {
+               struct landlock_ruleset_attr ruleset_attr = {
+                       .scoped = scoped_mask,
+               };
+
+               ASSERT_EQ(-1, landlock_create_ruleset(&ruleset_attr,
+                                                     sizeof(ruleset_attr), 0));
+               ASSERT_EQ(EINVAL, errno);
+       }
+}
+
+TEST_HARNESS_MAIN