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