函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\cred.c Create Date:2022-07-27 10:33:12
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:vert_creds - Revert a temporary subjective credentials override*@old: The credentials to be restored* Revert a temporary set of override subjective credentials to an old set,* discarding the override set.

函数原型:void revert_creds(const struct cred *old)

返回类型:void

参数:

类型参数名称
const struct cred *old
584  override等于cred
586  kdebug("revert_creds(%p{%d,%d})", old, atomic_read( & usage), read_cred_subscribers(old))
590  validate_creds(old)
591  validate_creds(override)
592  alter_cred_subscribers(old, 1)
593  cu_assign_pointer() - assign to RCU-protected pointer*@p: pointer to assign to*@v: value to assign (publish)* Assigns the specified value to the specified RCU-protected* pointer, ensuring that any concurrent RCU readers will see* any prior initialization(cred, old)
594  alter_cred_subscribers(override, - 1)
595  put_cred - Release a reference to a set of credentials*@cred: The credentials to release* Release a reference to a set of credentials, deleting them when the last ref* is released
调用者
名称描述
do_acct_process
io_sq_thread
__io_worker_unuseNote: drops the wqe->lock if returning true! The caller must re-acquire* the lock in that case. Some callers need to restart handling if this* happens, so we can't just re-acquire the lock on behalf of the caller.
do_coredump
do_faccessataccess() 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.