Re: [PATCH v2 4/6] selftests/landlock: Test ioctl with memfds

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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@xxxxxxxxxx>
---
  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?

  }



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux