|
lookup_one_len - filesystem helper to lookup single pathname component
: base directory to lookup from : maximum length should be interpreted to
Note that this routine is purely a helper for filesystem usage and should not be called by generic code. Also note that by using this function the nameidata argument is passed to the filesystem methods and a filesystem using this helper needs to be prepared for that.
|
struct inode_operations | page_symlink_inode_operations |
|
struct dentry * | lookup_one_len (const char *name, struct dentry *base, int len) |
|
int | user_path_at_empty (int dfd, const char __user *name, unsigned flags, struct path *path, int *empty) |
|
int | user_path_at (int dfd, const char __user *name, unsigned flags, struct path *path) |
|
struct dentry * | lock_rename (struct dentry *p1, struct dentry *p2) |
|
void | unlock_rename (struct dentry *p1, struct dentry *p2) |
|
int | vfs_create (struct inode *dir, struct dentry *dentry, umode_t mode, bool want_excl) |
|
struct file * | do_filp_open (int dfd, struct filename *pathname, const struct open_flags *op, int flags) |
|
struct file * | do_file_open_root (struct dentry *dentry, struct vfsmount *mnt, const char *name, const struct open_flags *op, int flags) |
|
struct dentry * | kern_path_create (int dfd, const char *pathname, struct path *path, int is_dir) |
|
| EXPORT_SYMBOL (kern_path_create) |
|
void | done_path_create (struct path *path, struct dentry *dentry) |
|
| EXPORT_SYMBOL (done_path_create) |
|
struct dentry * | user_path_create (int dfd, const char __user *pathname, struct path *path, int is_dir) |
|
| EXPORT_SYMBOL (user_path_create) |
|
int | vfs_mknod (struct inode *dir, struct dentry *dentry, umode_t mode, dev_t dev) |
|
| SYSCALL_DEFINE4 (mknodat, int, dfd, const char __user *, filename, umode_t, mode, unsigned, dev) |
|
| SYSCALL_DEFINE3 (mknod, const char __user *, filename, umode_t, mode, unsigned, dev) |
|
int | vfs_mkdir (struct inode *dir, struct dentry *dentry, umode_t mode) |
|
| SYSCALL_DEFINE3 (mkdirat, int, dfd, const char __user *, pathname, umode_t, mode) |
|
| SYSCALL_DEFINE2 (mkdir, const char __user *, pathname, umode_t, mode) |
|
void | dentry_unhash (struct dentry *dentry) |
|
int | vfs_rmdir (struct inode *dir, struct dentry *dentry) |
|
| SYSCALL_DEFINE1 (rmdir, const char __user *, pathname) |
|
int | vfs_unlink (struct inode *dir, struct dentry *dentry) |
|
| SYSCALL_DEFINE3 (unlinkat, int, dfd, const char __user *, pathname, int, flag) |
|
| SYSCALL_DEFINE1 (unlink, const char __user *, pathname) |
|
int | vfs_symlink (struct inode *dir, struct dentry *dentry, const char *oldname) |
|
| SYSCALL_DEFINE3 (symlinkat, const char __user *, oldname, int, newdfd, const char __user *, newname) |
|
| SYSCALL_DEFINE2 (symlink, const char __user *, oldname, const char __user *, newname) |
|
int | vfs_link (struct dentry *old_dentry, struct inode *dir, struct dentry *new_dentry) |
|
| SYSCALL_DEFINE5 (linkat, int, olddfd, const char __user *, oldname, int, newdfd, const char __user *, newname, int, flags) |
|
| SYSCALL_DEFINE2 (link, const char __user *, oldname, const char __user *, newname) |
|
int | vfs_rename (struct inode *old_dir, struct dentry *old_dentry, struct inode *new_dir, struct dentry *new_dentry) |
|
| SYSCALL_DEFINE4 (renameat, int, olddfd, const char __user *, oldname, int, newdfd, const char __user *, newname) |
|
| SYSCALL_DEFINE2 (rename, const char __user *, oldname, const char __user *, newname) |
|
int | vfs_readlink (struct dentry *dentry, char __user *buffer, int buflen, const char *link) |
|
int | generic_readlink (struct dentry *dentry, char __user *buffer, int buflen) |
|
int | vfs_follow_link (struct nameidata *nd, const char *link) |
|
int | page_readlink (struct dentry *dentry, char __user *buffer, int buflen) |
|
void * | page_follow_link_light (struct dentry *dentry, struct nameidata *nd) |
|
void | page_put_link (struct dentry *dentry, struct nameidata *nd, void *cookie) |
|
int | __page_symlink (struct inode *inode, const char *symname, int len, int nofs) |
|
int | page_symlink (struct inode *inode, const char *symname, int len) |
|
| EXPORT_SYMBOL (user_path_at) |
|
| EXPORT_SYMBOL (follow_down_one) |
|
| EXPORT_SYMBOL (follow_down) |
|
| EXPORT_SYMBOL (follow_up) |
|
| EXPORT_SYMBOL (get_write_access) |
|
| EXPORT_SYMBOL (lock_rename) |
|
| EXPORT_SYMBOL (lookup_one_len) |
|
| EXPORT_SYMBOL (page_follow_link_light) |
|
| EXPORT_SYMBOL (page_put_link) |
|
| EXPORT_SYMBOL (page_readlink) |
|
| EXPORT_SYMBOL (__page_symlink) |
|
| EXPORT_SYMBOL (page_symlink) |
|
| EXPORT_SYMBOL (page_symlink_inode_operations) |
|
| EXPORT_SYMBOL (kern_path) |
|
| EXPORT_SYMBOL (vfs_path_lookup) |
|
| EXPORT_SYMBOL (inode_permission) |
|
| EXPORT_SYMBOL (unlock_rename) |
|
| EXPORT_SYMBOL (vfs_create) |
|
| EXPORT_SYMBOL (vfs_follow_link) |
|
| EXPORT_SYMBOL (vfs_link) |
|
| EXPORT_SYMBOL (vfs_mkdir) |
|
| EXPORT_SYMBOL (vfs_mknod) |
|
| EXPORT_SYMBOL (generic_permission) |
|
| EXPORT_SYMBOL (vfs_readlink) |
|
| EXPORT_SYMBOL (vfs_rename) |
|
| EXPORT_SYMBOL (vfs_rmdir) |
|
| EXPORT_SYMBOL (vfs_symlink) |
|
| EXPORT_SYMBOL (vfs_unlink) |
|
| EXPORT_SYMBOL (dentry_unhash) |
|
| EXPORT_SYMBOL (generic_readlink) |
|
__inode_permission - Check for access rights to a given inode : Inode to check permission on : Right to check for (MAY_READ, MAY_WRITE, MAY_EXEC)
Check for read/write/execute permissions on an inode.
When checking for MAY_APPEND, MAY_WRITE must also be set in .
This does not check for a read-only file system. You probably want inode_permission().
Definition at line 383 of file namei.c.
generic_permission - check for access rights on a Posix-like filesystem : inode to check access rights for : right to check for (MAY_READ, MAY_WRITE, MAY_EXEC, ...)
Used to check for read/write/execute permissions on a file. We use "fsuid" for this, letting us set arbitrary permissions for filesystem access without changing the "normal" uids which are used for other things.
generic_permission is rcu-walk aware. It returns -ECHILD in case an rcu-walk request cannot be satisfied (eg. requires blocking or too much complexity). It would then be called again in ref-walk mode.
Definition at line 311 of file namei.c.
inode_permission - Check for access rights to a given inode : Inode to check permission on : Right to check for (MAY_READ, MAY_WRITE, MAY_EXEC)
Check for read/write/execute permissions on an inode. We use fs[ug]id for this, letting us set arbitrary permissions for filesystem access without changing the "normal" UIDs which are used for other things.
When checking for MAY_APPEND, MAY_WRITE must also be set in .
Definition at line 438 of file namei.c.