Function report |
Source Code:security\keys\keyctl.c |
Create Date:2022-07-28 18:21:02 |
| Last Modify:2020-03-18 07:59:52 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Attempt to install the calling process's session keyring on the process's* parent process.* The keyring must exist and must grant the caller LINK permission, and the* parent process must be single-threaded and must have the same effective
Proto:long keyctl_session_to_parent(void)
Type:long
Parameter:Nothing
| 1568 | cred = Allocate blank credentials, such that the credentials can be filled in at a* later date without risk of ENOMEM. |
| 1569 | If Not cred Then Go to error_keyring |
| 1571 | newwork = RCU deletion hook |
| 1574 | keyring_r = NULL |
| 1577 | me = current process |
| 1579 | write_lock_irq( & tasklist_lock) |
| 1582 | oldwork = NULL |
| 1591 | If Not thread_group_empty(parent) Then Go to unlock |
| 1596 | mycred = 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.() |
| 1598 | If mycred == pcred || keyring inherited over fork == keyring inherited over fork Then |
| 1606 | If Not uid_eq( real UID of the task , effective UID of the task ) || Not uid_eq( effective UID of the task , effective UID of the task ) || Not uid_eq( saved UID of the task , effective UID of the task ) || Not gid_eq( real GID of the task , effective GID of the task ) || Not gid_eq( effective GID of the task , effective GID of the task ) || Not gid_eq( saved GID of the task , effective GID of the task ) Then Go to unlock |
| 1615 | If keyring inherited over fork && Not uid_eq(uid, effective UID of the task ) || Not uid_eq(uid, effective UID of the task ) Then Go to unlock |
| 1628 | unlock : |
| 1629 | write_unlock_irq( & tasklist_lock) |
| 1635 | Return ret |
| 1637 | error_keyring : |
| 1638 | key_ref_put(keyring_r) |
| 1639 | Return ret |
| Name | Describe |
|---|---|
| SYSCALL_DEFINE5 | The key control system call |
| COMPAT_SYSCALL_DEFINE5 | The key control system call, 32-bit compatibility version for 64-bit archs |
| 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 |