函数逻辑报告 |
Source Code:fs\namei.c |
Create Date:2022-07-29 10:35:11 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:Hardlinks are often used in delicate situations. We avoid* security-related surprises by not following symlinks on the* newname. --KAB* We don't follow them on the oldname either to be compatible* with linux 2.0, and to avoid hard-linking to directories
函数原型:int do_linkat(int olddfd, const char __user *oldname, int newdfd, const char __user *newname, int flags)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| int | olddfd | |
| const char __user * | oldname | |
| int | newdfd | |
| const char __user * | newname | |
| int | flags |
| 4213 | struct inode * delegated_inode = NULL |
| 4214 | how等于0 |
| 4217 | 如果flags按位与Follow symbolic links. 按位或Allow empty relative pathname 的值的反的值不等于0则返回:负EINVAL |
| 4224 | 如果flags按位与Allow empty relative pathname 则 |
| 4230 | 如果flags按位与Follow symbolic links. 则how或等于llow links at the end |
| 4232 | retry : |
| 4237 | new_dentry等于user_path_create(newdfd, newname, & new_path, (how & ll ->d_revalidate() to trust no cache )) |
| 4247 | 如果此条件成立可能性小(为编译器优化)(error)则转到:out_dput |
| 4249 | error等于security_path_link(dentry, & new_path, new_dentry) |
| 4253 | out_dput : |
| 4254 | done_path_create( & new_path, new_dentry) |
| 4255 | 如果delegated_inode则 |
| 4256 | error等于break_deleg_wait( & delegated_inode) |
| 4257 | 如果非error则 |
| 4265 | 转到:retry |
| 4267 | out : |
| 4270 | 返回:error |
| 名称 | 描述 |
|---|---|
| SYSCALL_DEFINE5 | |
| SYSCALL_DEFINE2 | |
| ksys_link |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |