Function report |
Source Code:fs\namei.c |
Create Date:2022-07-28 20:05:18 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name: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
Proto:int do_linkat(int olddfd, const char __user *oldname, int newdfd, const char __user *newname, int flags)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| int | olddfd | |
| const char __user * | oldname | |
| int | newdfd | |
| const char __user * | newname | |
| int | flags |
| 4213 | struct inode * delegated_inode = NULL |
| 4214 | how = 0 |
| 4217 | If (flags & ~(Follow symbolic links. | Allow empty relative pathname )) != 0 Then Return -EINVAL |
| 4224 | If flags & Allow empty relative pathname Then |
| 4225 | If Not Check operation authority Then Return -ENOENT |
| 4230 | If flags & Follow symbolic links. Then 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 )) |
| 4239 | error = PTR_ERR(new_dentry) |
| 4240 | If IS_ERR(new_dentry) Then Go to out |
| 4247 | If Value for the false possibility is greater at compile time(error) Then Go to out_dput |
| 4249 | error = security_path_link(dentry, & new_path, new_dentry) |
| 4253 | out_dput : |
| 4254 | done_path_create( & new_path, new_dentry) |
| 4255 | If delegated_inode Then |
| 4256 | error = break_deleg_wait( & delegated_inode) |
| 4257 | If Not error Then |
| 4265 | Go to retry |
| 4267 | out : |
| 4270 | Return error |
| Name | Describe |
|---|---|
| SYSCALL_DEFINE5 | |
| SYSCALL_DEFINE2 | |
| ksys_link |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |