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 |