| 函数逻辑报告 | 
| Source Code: security\keys\keyctl.c | Create Date:2022-07-27 19:54:56 | 
| Last Modify:2020-03-18 07:59:52 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:Change the ownership of a key* The key must grant the caller Setattr permission for this to work, though* the key need not be fully instantiated yet. For the UID to be changed, or* for the GID to be changed to a group the caller is not a member of, the
函数原型:long keyctl_chown_key(key_serial_t id, uid_t user, gid_t group)
返回类型:long
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| key_serial_t | id | |
| uid_t | user | |
| gid_t | group | 
| 889 | uid等于make_kuid(current_user_ns(), user) | 
| 890 | gid等于make_kgid(current_user_ns(), group) | 
| 897 | ret等于0 | 
| 903 | 如果是错误则 | 
| 908 | key等于key_ref_to_ptr(key_ref) | 
| 912 | lock for writing | 
| 914 | 如果非操作权限检查则 | 
| 928 | newowner等于Get the key quota record for a user, allocating a new record if one doesn't* already exist. | 
| 939 | 加自旋锁 | 
| 948 | 自旋锁解锁 | 
| 950 | 加自旋锁 | 
| 951 | qnkeys自减 | 
| 952 | qnbytes减等于 length added to quota | 
| 953 | 自旋锁解锁 | 
| 956 | atomic_dec( & nkeys) | 
| 957 | atomic_inc( & umber of keys ) | 
| 960 | atomic_dec( & nikeys) | 
| 961 | atomic_inc( & umber of instantiated keys ) | 
| 964 | zapowner等于 owner of this key | 
| 965 | owner of this key 等于newowner | 
| 973 | ret等于0 | 
| 975 | error_put : | 
| 980 | error : | 
| 981 | 返回:ret | 
| 983 | quota_overrun : | 
| 984 | 自旋锁解锁 | 
| 987 | 转到:error_put | 
| 名称 | 描述 | 
|---|---|
| SYSCALL_DEFINE5 | The key control system call | 
| COMPAT_SYSCALL_DEFINE5 | The key control system call, 32-bit compatibility version for 64-bit archs | 
| 源代码转换工具 开放的插件接口 | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |