Function report |
Source Code:kernel\ptrace.c |
Create Date:2022-07-28 09:13:14 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Returns 0 on success, -errno on denial.
Proto:static int __ptrace_may_access(struct task_struct *task, unsigned int mode)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct task_struct * | task | |
| unsigned int | mode |
| 283 | cred = current_cred - Access the current task's subjective credentials* Access the subjective credentials of the current task. RCU-safe,* since nobody else can modify it.() |
| 288 | If Not (mode & PTRACE_MODE_FSCREDS) == Not (mode & PTRACE_MODE_REALCREDS) Then |
| 303 | If same_thread_group(task, current process) Then Return 0 |
| 306 | If mode & PTRACE_MODE_FSCREDS Then |
| 307 | caller_uid = UID for VFS ops |
| 308 | caller_gid = GID for VFS ops |
| 309 | Else |
| 322 | If uid_eq(caller_uid, effective UID of the task ) && uid_eq(caller_uid, saved UID of the task ) && uid_eq(caller_uid, real UID of the task ) && gid_eq(caller_gid, effective GID of the task ) && gid_eq(caller_gid, saved GID of the task ) && gid_eq(caller_gid, real GID of the task ) Then Go to ok |
| 329 | If ptrace_has_cap(cred, user_ns the caps and keyrings are relative to. , mode) Then Go to ok |
| 332 | Return -EPERM |
| 333 | ok : |
| 344 | smp_rmb() |
| 346 | If mm && get_dumpable(mm) != Dump as user of process && Not ptrace_has_cap(cred, user_ns, mode) Then Return -EPERM |
| 351 | Return security_ptrace_access_check(task, mode) |
| Name | Describe |
|---|---|
| ptrace_may_access | |
| ptrace_attach |
| 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 |