Lines Matching refs:path
69 long vfs_truncate(const struct path *path, loff_t length)
74 inode = path->dentry->d_inode;
82 error = mnt_want_write(path->mnt);
108 error = security_path_truncate(path);
110 error = do_truncate(path->dentry, length, 0, NULL);
115 mnt_drop_write(path->mnt);
124 struct path path;
131 error = user_path_at(AT_FDCWD, pathname, lookup_flags, &path);
133 error = vfs_truncate(&path, length);
134 path_put(&path);
143 SYSCALL_DEFINE2(truncate, const char __user *, path, long, length)
145 return do_sys_truncate(path, length);
149 COMPAT_SYSCALL_DEFINE2(truncate, const char __user *, path, compat_off_t, length)
151 return do_sys_truncate(path, length);
217 SYSCALL_DEFINE2(truncate64, const char __user *, path, loff_t, length)
219 return do_sys_truncate(path, length);
399 struct path path;
423 res = user_path_at(dfd, filename, lookup_flags, &path);
427 inode = d_backing_inode(path.dentry);
435 if (path_noexec(&path))
453 if (__mnt_is_readonly(path.mnt))
457 path_put(&path);
487 struct path path;
491 error = user_path_at(AT_FDCWD, filename, lookup_flags, &path);
495 error = inode_permission(path.dentry->d_inode, MAY_EXEC | MAY_CHDIR);
499 set_fs_pwd(current->fs, &path);
502 path_put(&path);
535 struct path path;
539 error = user_path_at(AT_FDCWD, filename, lookup_flags, &path);
543 error = inode_permission(path.dentry->d_inode, MAY_EXEC | MAY_CHDIR);
550 error = security_path_chroot(&path);
554 set_fs_root(current->fs, &path);
557 path_put(&path);
566 int chmod_common(const struct path *path, umode_t mode)
568 struct inode *inode = path->dentry->d_inode;
573 error = mnt_want_write(path->mnt);
578 error = security_path_chmod(path, mode);
583 error = notify_change(path->dentry, &newattrs, &delegated_inode);
591 mnt_drop_write(path->mnt);
615 struct path path;
619 error = user_path_at(dfd, filename, lookup_flags, &path);
621 error = chmod_common(&path, mode);
622 path_put(&path);
642 int chown_common(const struct path *path, uid_t user, gid_t group)
644 struct inode *inode = path->dentry->d_inode;
672 error = security_path_chown(path, uid, gid);
674 error = notify_change(path->dentry, &newattrs, &delegated_inode);
687 struct path path;
698 error = user_path_at(dfd, filename, lookup_flags, &path);
701 error = mnt_want_write(path.mnt);
704 error = chown_common(&path, user, group);
705 mnt_drop_write(path.mnt);
707 path_put(&path);
923 * vfs_open - open the file at the given path
924 * @path: path to open
928 int vfs_open(const struct path *path, struct file *file)
930 file->f_path = *path;
931 return do_dentry_open(file, d_backing_inode(path->dentry), NULL);
934 struct file *dentry_open(const struct path *path, int flags,
943 BUG_ON(!path->mnt);
947 error = vfs_open(path, f);
957 struct file *open_with_fake_path(const struct path *path, int flags,
964 f->f_path = *path;
1116 * @name: struct filename containing path to open
1137 * @filename: path to open
1158 struct file *file_open_root(const struct path *root,