]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
selftests/landlock: Add tests for unknown access rights
authorMickaël Salaün <mic@digikod.net>
Fri, 6 May 2022 16:08:14 +0000 (18:08 +0200)
committerStefan Bader <stefan.bader@canonical.com>
Wed, 10 Aug 2022 07:25:17 +0000 (09:25 +0200)
BugLink: https://bugs.launchpad.net/bugs/1981864
commit c56b3bf566da5a0dd3b58ad97a614b0928b06ebf upstream.

Make sure that trying to use unknown access rights returns an error.

Cc: Shuah Khan <shuah@kernel.org>
Link: https://lore.kernel.org/r/20220506160820.524344-5-mic@digikod.net
Cc: stable@vger.kernel.org
Signed-off-by: Mickaël Salaün <mic@digikod.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
tools/testing/selftests/landlock/fs_test.c

index cc7fa7b175789c2dabc0e72e79c12a8428ad21b6..f293b7e2a1a725b77c5619a6768d31714af2a5fb 100644 (file)
@@ -448,6 +448,22 @@ TEST_F_FORK(layout1, file_access_rights)
        ASSERT_EQ(0, close(path_beneath.parent_fd));
 }
 
+TEST_F_FORK(layout1, unknown_access_rights)
+{
+       __u64 access_mask;
+
+       for (access_mask = 1ULL << 63; access_mask != ACCESS_LAST;
+            access_mask >>= 1) {
+               struct landlock_ruleset_attr ruleset_attr = {
+                       .handled_access_fs = access_mask,
+               };
+
+               ASSERT_EQ(-1, landlock_create_ruleset(&ruleset_attr,
+                                                     sizeof(ruleset_attr), 0));
+               ASSERT_EQ(EINVAL, errno);
+       }
+}
+
 static void add_path_beneath(struct __test_metadata *const _metadata,
                             const int ruleset_fd, const __u64 allowed_access,
                             const char *const path)