函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:get_link

函数原型:static __always_inline const char *get_link(struct nameidata *nd)

返回类型:char

参数:

类型参数名称
struct nameidata *nd
1047  last等于stackdepth减1
1048  dentry等于dentry
1049  inode等于link_inode
1053  如果非flags按位与RCU pathwalk mode; semi-internal 的值则
1054  touch_atime( & link)
1055  cond_resched()
1056  否则如果atime_needs_update( & link, inode)则
1057  如果此条件成立可能性小(为编译器优化)(lazy_walk - try to switch to ref-walk mode)则返回:错误号
1059  touch_atime( & link)
1062  error等于security_inode_follow_link(dentry, inode, flags & RCU pathwalk mode; semi-internal )
1064  如果此条件成立可能性小(为编译器优化)(error)则返回:错误号
1067  last_type等于LAST_BIND
1068  res等于READ_ONCE(i_link)
1069  如果非res
1070  const char * ( * get)(struct dentry * , struct inode * , struct delayed_call * )
1072  get等于get_link
1073  如果flags按位与RCU pathwalk mode; semi-internal
1074  res等于get(NULL, inode, & done)
1075  如果res恒等于错误号
1080  否则
1081  res等于get(dentry, inode, & done)
1083  如果是错误或空则返回:res
1086  如果res恒等于'/'则
1087  如果非mntset_root(nd)
1089  如果此条件成立可能性小(为编译器优化)(nd_jump_root(nd))则返回:错误号
1091 此条件成立可能性小(为编译器优化)( * ++res == '/')循环
1094  如果非resres = NULL
1096  返回:res
调用者
名称描述
link_path_walkName resolution.* This is the basic name resolution function, turning a pathname into* the final dentry. We expect 'base' to be positive and a directory.* Returns 0 and nd will have valid dentry and mnt on success.
trailing_symlink