函数逻辑报告 |
Source Code:security\selinux\hooks.c |
Create Date:2022-07-27 20:26:30 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:Allow filesystems with binary mount data to explicitly set mount point* labeling information.
函数原型:static int selinux_set_mnt_opts(struct super_block *sb, void *mnt_opts, unsigned long kern_flags, unsigned long *set_kern_flags)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct super_block * | sb | |
| void * | mnt_opts | |
| unsigned long | kern_flags | |
| unsigned long * | set_kern_flags |
| 651 | 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.() |
| 652 | sbsec等于s_security |
| 656 | fscontext_sid等于0, context_sid等于0, rootcontext_sid等于0 |
| 657 | defcontext_sid等于0 |
| 658 | rc等于0 |
| 660 | mutex_lock( & lock) |
| 662 | 如果非initialized则 |
| 663 | 如果非opts则 |
| 667 | 转到:out |
| 670 | 打印警告信息("SELinux: Unable to set superblock options before the security server is initialized\n") |
| 672 | 转到:out |
| 674 | 如果kern_flags且非set_kern_flags则 |
| 692 | 如果 which mount options were specified 按位与Non-mount related flags 且fs_flags按位与FS_BINARY_MOUNTDATA且非opts则转到:out |
| 703 | 如果opts则 |
| 704 | 如果fscontext则 |
| 705 | rc等于parse_sid(sb, fscontext, & fscontext_sid) |
| 713 | 如果context则 |
| 714 | rc等于parse_sid(sb, context, & context_sid) |
| 722 | 如果rootcontext则 |
| 723 | rc等于parse_sid(sb, rootcontext, & rootcontext_sid) |
| 731 | 如果defcontext则 |
| 732 | rc等于parse_sid(sb, defcontext, & defcontext_sid) |
| 744 | 如果 which mount options were specified 按位与Mask for just the mount related flags 且非opts则转到:out_double_mount |
| 746 | rc等于0 |
| 747 | 转到:out |
| 750 | 如果字符串比较恒等于0则 which mount options were specified 或等于SE_SBPROC按位或SE_SBGENFS |
| 753 | 如果非字符串比较或非字符串比较或非字符串比较则 which mount options were specified 或等于SE_SBGENFS |
| 758 | 如果非字符串比较或非字符串比较或非字符串比较则 which mount options were specified 或等于SE_SBGENFS按位或SE_SBGENFS_XATTR |
| 763 | 如果非 labeling behavior 则 |
| 768 | rc等于security_fs_use( & selinux_state, sb) |
| 769 | 如果rc则 |
| 790 | 如果 labeling behavior 恒等于use xattr 则 |
| 800 | 转到:out_set_opts |
| 804 | 如果fscontext_sid则 |
| 822 | 如果context_sid则 |
| 842 | 如果rootcontext_sid则 |
| 849 | initialization flag 等于 initialized |
| 852 | 如果defcontext_sid则 |
| 853 | 如果 labeling behavior 不等于use xattr 且 labeling behavior 不等于use native label support 则 |
| 861 | 如果defcontext_sid不等于 default SID for labeling 则 |
| 871 | out_set_opts : |
| 872 | rc等于sb_finish_set_opts(sb) |
| 873 | out : |
| 875 | 返回:rc |
| 876 | out_double_mount : |
| 878 | 打印警告信息("SELinux: mount invalid. Same superblock, different security settings for (dev %s, type %s)\n", Informational name , name) |
| 881 | 转到:out |
| 名称 | 描述 |
|---|---|
| delayed_superblock_init |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |