函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\namei.c Create Date:2022-07-29 10:34:58
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:must be paired with terminate_walk()

函数原型:static const char *path_init(struct nameidata *nd, unsigned flags)

返回类型:char

参数:

类型参数名称
struct nameidata *nd
unsignedflags
2161  s等于 pointer to actual string
2163  如果非sflags与等于RCU pathwalk mode; semi-internal 的反
2165  如果flags按位与RCU pathwalk mode; semi-internal _read_lock() - mark the beginning of an RCU read-side critical section* When synchronize_rcu() is invoked on one CPU while other CPUs* are within RCU read-side critical sections, then the* synchronize_rcu() is guaranteed to block until after all the other
2168  last_type等于LAST_ROOT
2169  flags等于flags按位或LOOKUP_JUMPED按位或rnal use only
2170  depth等于0
2171  如果flags按位与LOOKUP_ROOT
2172  root等于dentry
2173  inode等于 Where the name belongs to - NULL is * negative
2174  如果s此条件成立可能性小(为编译器优化)(!d_can_lookup(root))则返回:错误号
2176  path等于root
2177  path.dentry.d_inode 等于inode
2178  如果flags按位与RCU pathwalk mode; semi-internal
2180  root_seq等于seq
2182  否则
2185  返回:s
2188  mnt = NULL
2189  mnt = NULL
2190  dentry = NULL
2192  m_seq等于Read side functions for starting and finalizing a read side section.
2193  如果s恒等于'/'则
2194  set_root(nd)
2195  如果此条件成立可能性大(为编译器优化)(!nd_jump_root(nd))则返回:s
2197  返回:错误号
2198  否则如果dfd恒等于Special value used to indicateopenat should use the currentworking directory.
2199  如果flags按位与RCU pathwalk mode; semi-internal
2200  fs等于fs
2203  循环
2209  否则
2210  get_fs_pwd(fs, & path)
2213  返回:s
2214  否则
2216  f等于fdget_raw(dfd)
2219  如果非file则返回:错误号
2222  dentry等于dentry
2225  fdput(f)
2226  返回:错误号
2229  path等于f_path
2230  如果flags按位与RCU pathwalk mode; semi-internal
2233  否则
2237  fdput(f)
2238  返回:s
调用者
名称描述
path_lookupatReturns 0 and nd will be valid on success; Retuns error, otherwise.
path_parentatReturns 0 and nd will be valid on success; Retuns error, otherwise.
path_mountpointpath_mountpoint - look up a path to be umounted*@nd: lookup context*@flags: lookup flags*@path: pointer to container for result* Look up the given name, but don't attempt to revalidate the last component.
path_openat