Function report |
Source Code:fs\open.c |
Create Date:2022-07-28 20:00:54 |
| Last Modify:2020-03-18 10:16:03 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:access() needs to use the real uid/gid, not the effective uid/gid.* We do this by temporarily clearing all FS-related capabilities and* switching the fsuid/fsgid around to the real ones.
Proto:long do_faccessat(int dfd, const char __user *filename, int mode)
Type:long
Parameter:
| Type | Parameter | Name |
|---|---|---|
| int | dfd | |
| const char __user * | filename | |
| int | mode |
| 360 | override_cred = prepare_creds - Prepare a new set of credentials for modification* Prepare a new set of task credentials for modification |
| 361 | If Not override_cred Then Return -ENOMEM |
| 370 | If Not uid_eq( real UID of the task , root_uid) Then cap_clear( caps we can actually use ) |
| 372 | Else caps we can actually use = caps we're permitted |
| 394 | Can we skip RCU deletion? = 1 |
| 397 | retry : |
| 398 | res = user_path_at(dfd, filename, lookup_flags, & path) |
| 410 | If path_noexec( & path) Then Go to out_path_release |
| 414 | res = inode_permission(inode, mode | MAY_ACCESS) |
| 416 | If res || Not (mode & S_IWOTH) || special_file(i_mode) Then Go to out_path_release |
| 428 | If __mnt_is_readonly(mnt) Then res = -EROFS |
| 431 | out_path_release : |
| 435 | Go to retry |
| 437 | out : |
| 440 | Return res |
| Name | Describe |
|---|---|
| SYSCALL_DEFINE3 | |
| SYSCALL_DEFINE2 | |
| ksys_access |
| 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 |