函数逻辑报告 | 
Source Code:kernel\fork.c | 
Create Date:2022-07-27 09:58:31 | 
| Last Modify:2020-03-17 11:04:53 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:share allows a process to 'unshare' part of the process* context which was originally shared using clone. copy_** functions used by do_fork() cannot be used here directly* because they modify an inactive task_struct that is being* constructed
函数原型:int ksys_unshare(unsigned long unshare_flags)
返回类型:int
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| unsigned long | unshare_flags | 
| 2898 | struct files_struct * fd, * new_fd = NULL | 
| 2900 | struct nsproxy * new_nsproxy = NULL | 
| 2901 | do_sysvsem等于0 | 
| 2908 | 如果unshare_flags按位与新用户空间则unshare_flags或等于属于同一个线程组按位或共享文件系统 | 
| 2913 | 如果unshare_flags按位与共享虚拟内存则unshare_flags或等于共享信号处理 | 
| 2918 | 如果unshare_flags按位与共享信号处理则unshare_flags或等于属于同一个线程组 | 
| 2923 | 如果unshare_flags按位与在新的namespace启动子进程则unshare_flags或等于共享文件系统 | 
| 2927 | 如果err则转到:bad_unshare_out | 
| 2934 | 如果unshare_flags按位与新消息空间按位或share system V SEM_UNDO semantics 的值则do_sysvsem等于1 | 
| 2937 | 如果err则转到:bad_unshare_out | 
| 2940 | 如果err则转到:bad_unshare_cleanup_fs | 
| 2942 | err等于unshare_userns(unshare_flags, & new_cred) | 
| 2943 | 如果err则转到:bad_unshare_cleanup_fd | 
| 2945 | err等于unshare_nsproxy_namespaces(unshare_flags, & new_nsproxy, new_cred, new_fs) | 
| 2947 | 如果err则转到:bad_unshare_cleanup_cred | 
| 2950 | 如果new_fs或new_fd或do_sysvsem或new_cred或new_nsproxy则 | 
| 2951 | 如果do_sysvsem则 | 
| 2957 | 如果unshare_flags按位与新消息空间则 | 
| 2960 | shm_init_task(当前进程) | 
| 2963 | 如果new_nsproxy则switch_task_namespaces(当前进程, new_nsproxy) | 
| 2968 | 如果new_fs则 | 
| 2979 | 如果new_fd则 | 
| 2985 | task_unlock(当前进程) | 
| 2987 | 如果new_cred则 | 
| 2994 | perf_event_namespaces(当前进程) | 
| 2996 | bad_unshare_cleanup_cred : | 
| 2997 | 如果new_cred则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 | 
| 2999 | bad_unshare_cleanup_fd : | 
| 3000 | 如果new_fd则put_files_struct(new_fd) | 
| 3003 | bad_unshare_cleanup_fs : | 
| 3004 | 如果new_fs则free_fs_struct(new_fs) | 
| 3007 | bad_unshare_out : | 
| 3008 | 返回:err | 
| 名称 | 描述 | 
|---|---|
| SYSCALL_DEFINE1 | |
| init_linuxrc | 
| 源代码转换工具 开放的插件接口  | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码  |