nameidata
static int complete_walk(struct nameidata *nd)
static int set_root(struct nameidata *nd)
static int nd_jump_root(struct nameidata *nd)
struct nameidata *nd = current->nameidata;
static inline void put_link(struct nameidata *nd)
static inline int may_follow_link(struct nameidata *nd, const struct inode *inode)
static int may_create_in_sticky(struct mnt_idmap *idmap, struct nameidata *nd,
static bool __follow_mount_rcu(struct nameidata *nd, struct path *path)
static inline int handle_mounts(struct nameidata *nd, struct dentry *dentry,
static struct dentry *lookup_fast(struct nameidata *nd)
struct nameidata *restrict nd)
static int reserve_stack(struct nameidata *nd, struct path *link)
static noinline const char *pick_link(struct nameidata *nd, struct path *link,
static noinline const char *step_into_slowpath(struct nameidata *nd, int flags,
static __always_inline const char *step_into(struct nameidata *nd, int flags,
static struct dentry *follow_dotdot_rcu(struct nameidata *nd)
static struct dentry *follow_dotdot(struct nameidata *nd)
static const char *handle_dots(struct nameidata *nd, int type)
static __always_inline const char *walk_component(struct nameidata *nd, int flags)
static inline const char *hash_name(struct nameidata *nd,
static inline const char *hash_name(struct nameidata *nd, const char *name, unsigned long *lastword)
static int link_path_walk(const char *name, struct nameidata *nd)
static const char *path_init(struct nameidata *nd, unsigned flags)
static inline const char *lookup_last(struct nameidata *nd)
static int handle_lookup_down(struct nameidata *nd)
static int path_lookupat(struct nameidata *nd, unsigned flags, struct path *path)
struct nameidata nd;
static int path_parentat(struct nameidata *nd, unsigned flags,
struct nameidata nd;
static struct dentry *lookup_open(struct nameidata *nd, struct file *file,
static inline bool trailing_slashes(struct nameidata *nd)
static struct dentry *lookup_fast_for_open(struct nameidata *nd, int open_flag)
static const char *open_last_lookups(struct nameidata *nd,
static int do_open(struct nameidata *nd,
static int do_tmpfile(struct nameidata *nd, unsigned flags,
static int do_o_path(struct nameidata *nd, unsigned flags, struct file *file)
static struct file *path_openat(struct nameidata *nd,
struct nameidata nd;
struct nameidata nd;
struct nameidata *saved;
static void __set_nameidata(struct nameidata *p, int dfd, struct filename *name)
struct nameidata *old = current->nameidata;
current->nameidata = p;
static inline void set_nameidata(struct nameidata *p, int dfd, struct filename *name,
struct nameidata *now = current->nameidata, *old = now->saved;
current->nameidata = old;
static bool nd_alloc_stack(struct nameidata *nd)
static void drop_links(struct nameidata *nd)
static void leave_rcu(struct nameidata *nd)
static void terminate_walk(struct nameidata *nd)
static inline bool legitimize_path(struct nameidata *nd,
static bool legitimize_links(struct nameidata *nd)
static bool legitimize_root(struct nameidata *nd)
static bool try_to_unlazy(struct nameidata *nd)
static bool try_to_unlazy_next(struct nameidata *nd, struct dentry *dentry)
struct nameidata *nameidata;
struct nameidata;
struct nameidata *idata;
idata = task->nameidata;
off = bpf_core_field_offset(struct nameidata, pathname);