[PATCH v2 4/6] selftests/landlock: Test ioctl with memfds
Mickaël Salaün
mic at digikod.net
Wed Jul 12 10:55:47 UTC 2023
On 23/06/2023 16:43, Günther Noack wrote:
> Because the ioctl right is associated with the opened file,
> we expect that it will work with files which are opened by means
> other than open(2).
>
> Signed-off-by: Günther Noack <gnoack at google.com>
> ---
> tools/testing/selftests/landlock/fs_test.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/tools/testing/selftests/landlock/fs_test.c b/tools/testing/selftests/landlock/fs_test.c
> index 0f0899768fe7..ebd93e895775 100644
> --- a/tools/testing/selftests/landlock/fs_test.c
> +++ b/tools/testing/selftests/landlock/fs_test.c
> @@ -3716,18 +3716,20 @@ TEST_F_FORK(ftruncate, open_and_ftruncate_in_different_processes)
> ASSERT_EQ(0, close(socket_fds[1]));
> }
>
> -TEST(memfd_ftruncate)
> +TEST(memfd_ftruncate_and_ioctl)
You could create memfd fixture/teardown with TEST_F(memfd, ftruncate)
and TEST_F(memfd, ioctl) to cleanly differentiate these tests.
> {
> - int fd;
> + int fd, n;
>
> fd = memfd_create("name", MFD_CLOEXEC);
> ASSERT_LE(0, fd);
>
> /*
> - * Checks that ftruncate is permitted on file descriptors that are
> - * created in ways other than open(2).
> + * Checks that operations associated with the opened file
> + * (ftruncate, ioctl) are permitted on file descriptors that
> + * are created in ways other than open(2).
> */
> EXPECT_EQ(0, test_ftruncate(fd));
I previously missed it but this test should check ftruncate with and
without FS sandboxing to be sure that the resulting behavior is the
same. Ditto for the IOCTL test.
> + EXPECT_EQ(0, ioctl(fd, FIONREAD, &n));
>
> ASSERT_EQ(0, close(fd));
EXPECT_EQ() for close() should be enough right?
> }
More information about the Linux-security-module-archive
mailing list