From: Christian Brauner Date: Mon, 7 Apr 2025 09:54:23 +0000 (+0200) Subject: selftests/filesystems: add open() test for anonymous inodes X-Git-Tag: v6.16-rc1~223^2~25^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=25a6cc9a630b4b1b783903b23a3a97c5bf16bf41;p=thirdparty%2Flinux.git selftests/filesystems: add open() test for anonymous inodes Test that anonymous inodes cannot be open()ed. Link: https://lore.kernel.org/20250407-work-anon_inode-v1-9-53a44c20d44e@kernel.org Reviewed-by: Jeff Layton Signed-off-by: Christian Brauner --- diff --git a/tools/testing/selftests/filesystems/anon_inode_test.c b/tools/testing/selftests/filesystems/anon_inode_test.c index 486496252ddd2..e8e0ef1460d27 100644 --- a/tools/testing/selftests/filesystems/anon_inode_test.c +++ b/tools/testing/selftests/filesystems/anon_inode_test.c @@ -48,5 +48,22 @@ TEST(anon_inode_no_exec) EXPECT_EQ(close(fd_context), 0); } +TEST(anon_inode_no_open) +{ + int fd_context; + + fd_context = sys_fsopen("tmpfs", 0); + ASSERT_GE(fd_context, 0); + + ASSERT_GE(dup2(fd_context, 500), 0); + ASSERT_EQ(close(fd_context), 0); + fd_context = 500; + + ASSERT_LT(open("/proc/self/fd/500", 0), 0); + ASSERT_EQ(errno, ENXIO); + + EXPECT_EQ(close(fd_context), 0); +} + TEST_HARNESS_MAIN