Lines Matching refs:dfd

49 	int dfd, tmpfd;  in setup_testdir()  local
59 dfd = open(dirname, O_PATH | O_DIRECTORY); in setup_testdir()
60 if (dfd < 0) in setup_testdir()
64 E_mkdirat(dfd, "root", 0755); in setup_testdir()
65 tmpfd = openat(dfd, "root", O_PATH | O_DIRECTORY); in setup_testdir()
68 close(dfd); in setup_testdir()
69 dfd = tmpfd; in setup_testdir()
71 E_symlinkat("/proc/self/exe", dfd, "procexe"); in setup_testdir()
72 E_symlinkat("/proc/self/root", dfd, "procroot"); in setup_testdir()
73 E_mkdirat(dfd, "root", 0755); in setup_testdir()
76 E_mkdirat(dfd, "mnt", 0755); in setup_testdir()
77 E_fchdir(dfd); in setup_testdir()
79 E_symlinkat("../mnt/", dfd, "mnt/self"); in setup_testdir()
80 E_symlinkat("/mnt/", dfd, "mnt/absself"); in setup_testdir()
82 E_mkdirat(dfd, "etc", 0755); in setup_testdir()
83 E_touchat(dfd, "etc/passwd"); in setup_testdir()
85 E_symlinkat("/newfile3", dfd, "creatlink"); in setup_testdir()
86 E_symlinkat("etc/", dfd, "reletc"); in setup_testdir()
87 E_symlinkat("etc/passwd", dfd, "relsym"); in setup_testdir()
88 E_symlinkat("/etc/", dfd, "absetc"); in setup_testdir()
89 E_symlinkat("/etc/passwd", dfd, "abssym"); in setup_testdir()
90 E_symlinkat("/cheeky", dfd, "abscheeky"); in setup_testdir()
92 E_mkdirat(dfd, "cheeky", 0755); in setup_testdir()
94 E_symlinkat("/", dfd, "cheeky/absself"); in setup_testdir()
95 E_symlinkat("../../root/", dfd, "cheeky/self"); in setup_testdir()
96 E_symlinkat("/../../root/", dfd, "cheeky/garbageself"); in setup_testdir()
98 E_symlinkat("../cheeky/../etc/../etc/passwd", dfd, "cheeky/passwd"); in setup_testdir()
99 E_symlinkat("/../cheeky/../etc/../etc/passwd", dfd, "cheeky/abspasswd"); in setup_testdir()
102 dfd, "cheeky/dotdotlink"); in setup_testdir()
104 dfd, "cheeky/garbagelink"); in setup_testdir()
106 return dfd; in setup_testdir()
442 int dfd, fd; in test_openat2_opath_tests() local
459 dfd = openat(rootfd, test->dir, O_PATH | O_DIRECTORY); in test_openat2_opath_tests()
461 dfd = dup(rootfd); in test_openat2_opath_tests()
462 E_assert(dfd, "failed to openat root '%s': %m", test->dir); in test_openat2_opath_tests()
464 E_dup2(dfd, hardcoded_fd); in test_openat2_opath_tests()
466 fd = sys_openat2(dfd, test->path, &test->how); in test_openat2_opath_tests()
475 close(dfd); in test_openat2_opath_tests()