O_RESOLVE_BENEATH
O_WRONLY | O_TRUNC | (beneath ? O_RESOLVE_BENEATH : 0), 0);
(beneath ? O_RESOLVE_BENEATH : 0),
if ((ffd = openat(fd, file, O_RDONLY | O_RESOLVE_BENEATH)) == -1) {
O_RESOLVE_BENEATH : 0;
O_RESOLVE_BENEATH : 0;
{ .f = O_RESOLVE_BENEATH, .t = UF_RESOLVE_BENEATH },
O_RESOLVE_BENEATH, "O_RESOLVE_BENEATH must be last, for sticky_orb");
O_RESOLVE_BENEATH : 0), &fcaps);
return (O_RESOLVE_BENEATH);
return (O_RESOLVE_BENEATH);
if (__predict_false((flags & O_RESOLVE_BENEATH) != 0)) {
flags |= O_RESOLVE_BENEATH;
flags &= ~O_RESOLVE_BENEATH;
if ((fmode & O_RESOLVE_BENEATH) != 0)
#define FKQALLOWED O_RESOLVE_BENEATH
O_CLOEXEC | O_VERIFY | O_PATH | O_RESOLVE_BENEATH | O_DSYNC | \
CheckPolicing(O_RESOLVE_BENEATH);
EXPECT_OPEN_OK(openat(AT_FDCWD, "topfile", O_RDONLY|O_RESOLVE_BENEATH));
EXPECT_OPEN_OK(openat(AT_FDCWD, "subdir/bottomfile", O_RDONLY|O_RESOLVE_BENEATH));
EXPECT_OPENAT_FAIL_TRAVERSAL(AT_FDCWD, "/etc/passwd", O_RDONLY|O_RESOLVE_BENEATH);
EXPECT_OPENAT_FAIL_TRAVERSAL(dir_fd_, "/etc/passwd", O_RDONLY|O_RESOLVE_BENEATH);
EXPECT_OPENAT_FAIL_TRAVERSAL(sub_fd_, "/etc/passwd", O_RDONLY|O_RESOLVE_BENEATH);
CheckPolicing(O_RESOLVE_BENEATH);
fd = openat(dd, tty, O_WRONLY | O_NONBLOCK | O_RESOLVE_BENEATH);
fd = openat(xml_dfd, path, O_RDONLY | O_RESOLVE_BENEATH);
fd = openat(hostbase_fd, filename, O_RDONLY | O_RESOLVE_BENEATH);
fd = openat(bootfd, loader, O_RDONLY | O_RESOLVE_BENEATH);