[PATCH bpf-next] selftests/bpf: Use memfd_create instead of mkstemp in d_path
From: Jonathan Bastari Thamrin via B4 Relay
Date: Sun Nov 01 2026 - 23:15:38 EST
From: Jonathan Bastari Thamrin <thamrinjonathan@xxxxxxxxx>
check_mem_access currently creates a temp file in /dev/shm, which
isn't mounted under vmtest.sh in local runs. This causes mkstemp
to fail with ENOENT. The fix is similar to
commit 47687a29b2c3 ("selftests/bpf: Use memfd_create instead of
shm_open in cgroup_iter_memcg") where memfd_create gives a
shmem-backed file with no mount needed while still reaching
vfs_fallocate.
Signed-off-by: Jonathan Bastari Thamrin <thamrinjonathan@xxxxxxxxx>
---
tools/testing/selftests/bpf/prog_tests/d_path.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/d_path.c b/tools/testing/selftests/bpf/prog_tests/d_path.c
index 1a2a2f1abf03..0f0150d73262 100644
--- a/tools/testing/selftests/bpf/prog_tests/d_path.c
+++ b/tools/testing/selftests/bpf/prog_tests/d_path.c
@@ -4,6 +4,7 @@
#include <sys/stat.h>
#include <linux/sched.h>
#include <sys/syscall.h>
+#include <sys/mman.h>
#define MAX_PATH_LEN 128
#define MAX_FILES 7
@@ -220,7 +221,6 @@ static void test_d_path_check_types(void)
static void test_d_path_mem_access(void)
{
int localfd = -1;
- char path_template[] = "/dev/shm/d_path_loadgen.XXXXXX";
struct test_d_path__bss *bss;
struct test_d_path *skel;
@@ -230,13 +230,12 @@ static void test_d_path_mem_access(void)
bss = skel->bss;
- localfd = mkstemp(path_template);
- if (CHECK(localfd < 0, "trigger", "mkstemp failed\n"))
+ localfd = memfd_create("d_path_loadgen", 0);
+ if (CHECK(localfd < 0, "trigger", "memfd_create failed\n"))
goto cleanup;
if (CHECK(fallocate(localfd, 0, 0, 1024) < 0, "trigger", "fallocate failed\n"))
goto cleanup;
- remove(path_template);
if (CHECK(!bss->path_match_fallocate, "check",
"failed to read fallocate path"))
---
base-commit: a30c772627b2ef4bc715332b1b04938a914556cd
change-id: 20261102-d-path-memfd-981879bcd3d7
Best regards,
--
Jonathan Bastari Thamrin <thamrinjonathan@xxxxxxxxx>