WTF: patch "[PATCH] selftests/landlock: Test landlock_create_ruleset(2) argument" was seriously submitted to be applied to the 5.18-stable tree?
Subsystems (3)
[email protected]
maintainerThe patch below was submitted to be applied to the 5.18-stable tree.
I fail to see how this patch meets the stable kernel rules as found at Documentation/process/stable-kernel-rules.rst.
I could be totally wrong, and if so, please respond to <[email protected]> and let me know why this patch should be applied. Otherwise, it is now dropped from my patch queues, never to be seen again.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 6533d0c3a86ee1cc74ff37ac92ca597deb87015c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <[email protected]>
Date: Fri, 6 May 2022 18:08:20 +0200
Subject: [PATCH] selftests/landlock: Test landlock_create_ruleset(2) argument
check ordering
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Add inval_create_ruleset_arguments, extension of inval_create_ruleset_flags, to also check error ordering for landlock_create_ruleset(2).
This is similar to the previous commit checking landlock_add_rule(2).
Test coverage for security/landlock is 94.4% of 504 lines accorging to gcc/gcov-11.
tools/testing/selftests/landlock/base_test.c +20 -1
@@ -97,14 +97,17 @@ TEST(abi_version)ASSERT_EQ (EINVAL , errno); } -TEST (inval_create_ruleset_flags) +/* Tests ordering of syscall argument checks. */ +TEST (create_ruleset_checks_ordering) {const int last_flag =LANDLOCK_CREATE_RULESET_VERSION ;const int invalid_flag = last_flag <<1 ; +int ruleset_fd;const struct landlock_ruleset_attr ruleset_attr = { .handled_access_fs =LANDLOCK_ACCESS_FS_READ_FILE , }; +/* Checks priority for invalid flags. */ ASSERT_EQ (-1 ,landlock_create_ruleset (NULL ,0 , invalid_flag));ASSERT_EQ (EINVAL , errno);
@@ -119,6 +122,22 @@ TEST(inval_create_ruleset_flags)landlock_create_ruleset (&ruleset_attr,sizeof (ruleset_attr), invalid_flag));ASSERT_EQ (EINVAL , errno); + +/* Checks too big ruleset_attr size. */ +ASSERT_EQ (-1 ,landlock_create_ruleset (&ruleset_attr,-1 ,0 )); +ASSERT_EQ (E2BIG , errno); + +/* Checks too small ruleset_attr size. */ +ASSERT_EQ (-1 ,landlock_create_ruleset (&ruleset_attr,0 ,0 )); +ASSERT_EQ (EINVAL , errno); +ASSERT_EQ (-1 ,landlock_create_ruleset (&ruleset_attr,1 ,0 )); +ASSERT_EQ (EINVAL , errno); + +/* Checks valid call. */ + ruleset_fd = +landlock_create_ruleset (&ruleset_attr,sizeof (ruleset_attr),0 ); +ASSERT_LE (0 , ruleset_fd); +ASSERT_EQ (0 ,close (ruleset_fd)); }/* Tests ordering of syscall argument checks. */