]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
selftests/bpf: Use memfd_create instead of shm_open in cgroup_iter_memcg
authorAlexei Starovoitov <ast@kernel.org>
Sun, 12 Apr 2026 21:06:36 +0000 (14:06 -0700)
committerKumar Kartikeya Dwivedi <memxor@gmail.com>
Sun, 12 Apr 2026 21:46:32 +0000 (23:46 +0200)
Replace shm_open/shm_unlink with memfd_create in the shmem subtest.
shm_open requires /dev/shm to be mounted, which is not always available
in test environments, causing the test to fail with ENOENT.
memfd_create creates an anonymous shmem-backed fd without any filesystem
dependency while exercising the same shmem accounting path.

Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20260412210636.47516-1-alexei.starovoitov@gmail.com
Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
tools/testing/selftests/bpf/prog_tests/cgroup_iter_memcg.c

index 88fc3e83d2b78d4d8a0e60dc9a85651e996416d1..b7c18d590b9938fe0cafb312cf03b5628ed6bc32 100644 (file)
@@ -107,10 +107,10 @@ static void test_shmem(struct bpf_link *link, struct memcg_query *memcg_query)
 
        /*
         * Increase memcg shmem usage by creating and writing
-        * to a shmem object.
+        * to a memfd backed by shmem/tmpfs.
         */
-       fd = shm_open("/tmp_shmem", O_CREAT | O_RDWR, 0644);
-       if (!ASSERT_OK_FD(fd, "shm_open"))
+       fd = memfd_create("tmp_shmem", 0);
+       if (!ASSERT_OK_FD(fd, "memfd_create"))
                return;
 
        if (!ASSERT_OK(fallocate(fd, 0, 0, len), "fallocate"))
@@ -123,7 +123,6 @@ static void test_shmem(struct bpf_link *link, struct memcg_query *memcg_query)
 
 cleanup:
        close(fd);
-       shm_unlink("/tmp_shmem");
 }
 
 static void test_pgfault(struct bpf_link *link, struct memcg_query *memcg_query)