O_PATH
bsd_flags |= O_PATH;
if (flags & O_PATH)
if ((flags & O_PATH) != 0) {
KASSERT(vp->v_type != VFIFO || (flags & O_PATH) != 0,
if ((flags & O_PATH) != 0) {
MPASS((flags & O_PATH) == 0);
KASSERT((fmode & O_PATH) == 0 || (fmode & O_ACCMODE) == 0,
if ((fmode & O_PATH) == 0 || (fmode & FEXEC) != 0)
if ((fmode & O_PATH) == 0) {
if ((fmode & O_PATH) != 0) {
(((fflags) & (O_EXEC | O_PATH)) != 0 ? (fflags) : (fflags) - 1)
O_DIRECT|FEXEC|O_PATH)
DirOperationsTest(O_PATH);
pathfd = open(path, O_PATH);
pathfd = open(path, O_PATH);
if (open(path, O_PATH) >= 0)
if (open("/usr/bin/true", O_PATH | O_EXEC) >= 0)
truefd = open("/usr/bin/true", O_PATH | O_EXEC);
pathdfd = open(".", O_PATH);
pathfd = open(path, O_PATH);
pathfd = open(path, O_PATH);
pathfd = open(path, O_PATH | O_DIRECTORY);
pathfd = open(path, O_PATH | O_DIRECTORY);
pathfd = open(path, O_PATH);
pathfd = open("/dev/null", O_PATH);
pathfd = open(path, O_PATH);
pathfd = open(path, O_PATH);
pathfd = open(path, O_PATH);
ATF_REQUIRE_MSG((flags & O_PATH) != 0, "O_PATH not set");
fcntl(pathfd, F_SETFL, flags & ~O_PATH));
ATF_REQUIRE_MSG((flags & O_PATH) != 0, "O_PATH not set");
ATF_REQUIRE_MSG((flags & O_PATH) != 0, "O_PATH not set");
pathfd = open("/usr/bin/true", O_PATH | O_EXEC);
pathfd = open(path, O_PATH | O_EXEC);
pathfd = open(path, O_PATH);
pathfd = open(path, O_PATH);
pathfd = open(path, O_PATH | O_CREAT, 0600);
pathfd = open(path, O_PATH);
pathfd = open(path, O_PATH);
pathfd = open("/dev/mem", O_PATH);
pathfd = open(path, O_PATH | O_EXLOCK);
pathfd = open(path, O_PATH);
ATF_REQUIRE_MSG((flags & O_PATH) != 0, "O_PATH is not set");
pathfd = open(path, O_PATH);
pathfd = open(path, O_PATH);
fd = open(path, O_PATH);
cwdfd = open(".", O_DIRECTORY | O_PATH);
flags = O_RDONLY | O_CLOEXEC | O_PATH;
hostbase_fd = open(base, O_DIRECTORY | O_PATH);
bootfd = open("/boot", O_DIRECTORY | O_PATH);