Lines Matching full:how

1167 	struct open_how how = {  in build_open_how()  local
1173 if (how.flags & O_PATH) in build_open_how()
1174 how.flags &= O_PATH_FLAGS; in build_open_how()
1176 if (!WILL_CREATE(how.flags)) in build_open_how()
1177 how.mode = 0; in build_open_how()
1178 return how; in build_open_how()
1181 inline int build_open_flags(const struct open_how *how, struct open_flags *op) in build_open_flags() argument
1183 u64 flags = how->flags; in build_open_flags()
1203 if (how->resolve & ~VALID_RESOLVE_FLAGS) in build_open_flags()
1207 if ((how->resolve & RESOLVE_BENEATH) && (how->resolve & RESOLVE_IN_ROOT)) in build_open_flags()
1212 if (how->mode & ~S_IALLUGO) in build_open_flags()
1214 op->mode = how->mode | S_IFREG; in build_open_flags()
1216 if (how->mode != 0) in build_open_flags()
1285 if (how->resolve & RESOLVE_NO_XDEV) in build_open_flags()
1287 if (how->resolve & RESOLVE_NO_MAGICLINKS) in build_open_flags()
1289 if (how->resolve & RESOLVE_NO_SYMLINKS) in build_open_flags()
1291 if (how->resolve & RESOLVE_BENEATH) in build_open_flags()
1293 if (how->resolve & RESOLVE_IN_ROOT) in build_open_flags()
1295 if (how->resolve & RESOLVE_CACHED) { in build_open_flags()
1320 struct open_how how = build_open_how(flags, mode); in file_open_name() local
1321 int err = build_open_flags(&how, &op); in file_open_name()
1349 struct open_how how = build_open_how(flags, mode); in file_open_root() local
1350 int err = build_open_flags(&how, &op); in file_open_root()
1358 struct open_how *how) in do_sys_openat2() argument
1361 int err = build_open_flags(how, &op); in do_sys_openat2()
1366 return FD_ADD(how->flags, do_file_open(dfd, name, &op)); in do_sys_openat2()
1371 struct open_how how = build_open_how(flags, mode); in do_sys_open() local
1372 return do_sys_openat2(dfd, filename, &how); in do_sys_open()
1392 struct open_how __user *, how, size_t, usize) in SYSCALL_DEFINE4() argument
1405 err = copy_struct_from_user(&tmp, sizeof(tmp), how, usize); in SYSCALL_DEFINE4()