函数逻辑报告 |
Source Code:security\smack\smack_lsm.c |
Create Date:2022-07-27 20:52:31 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:smack_d_instantiate - Make sure the blob is correct on an inode*@opt_dentry: dentry where inode will be attached*@inode: the object* Set the inode's security blob if it hasn't been done already.
函数原型:static void smack_d_instantiate(struct dentry *opt_dentry, struct inode *inode)
返回类型:void
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct dentry * | opt_dentry | |
| struct inode * | inode |
| 3272 | transflag等于0 |
| 3276 | 如果(inode == NULL)则返回 |
| 3279 | isp等于smack_inode(inode) |
| 3281 | mutex_lock( & itialization lock ) |
| 3286 | 如果smack inode flags 按位与de is instantiated 则转到:unlockandout |
| 3290 | sbsp等于s_security |
| 3295 | final等于smk_default |
| 3303 | 如果 parent directory 恒等于opt_dentry则 |
| 3305 | 当:s_magic恒等于CGROUP_SUPER_MAGIC |
| 3306 | 当:s_magic恒等于CGROUP2_SUPER_MAGIC |
| 3312 | smk_root等于smack_known_star |
| 3313 | smk_default等于smack_known_star |
| 3314 | label of the fso 等于smk_root |
| 3315 | 退出 |
| 3316 | 当:s_magic恒等于TMPFS_MAGIC |
| 3323 | 当:s_magic恒等于PIPEFS_MAGIC |
| 3326 | 当:s_magic恒等于SOCKFS_MAGIC |
| 3331 | label of the fso 等于smack_known_star |
| 3332 | 退出 |
| 3333 | 默认 |
| 3334 | label of the fso 等于smk_root |
| 3335 | 退出 |
| 3337 | smack inode flags 或等于de is instantiated |
| 3338 | 转到:unlockandout |
| 3349 | 当:s_magic恒等于CGROUP_SUPER_MAGIC |
| 3350 | 当:s_magic恒等于CGROUP2_SUPER_MAGIC |
| 3358 | final等于smack_known_star |
| 3359 | 退出 |
| 3360 | 当:s_magic恒等于DEVPTS_SUPER_MAGIC |
| 3368 | 当:s_magic恒等于PROC_SUPER_MAGIC |
| 3373 | 退出 |
| 3374 | 当:s_magic恒等于TMPFS_MAGIC |
| 3380 | final等于smack_known_star |
| 3388 | 默认 |
| 3398 | final等于smack_known_star |
| 3399 | 退出 |
| 3430 | 如果smack inode flags 按位与smack was transmuted 则 |
| 3431 | smack inode flags 与等于smack was transmuted 的反 |
| 3432 | rc等于__vfs_setxattr(dp, inode, XATTR_NAME_SMACKTRANSMUTE, TRANS_TRUE, TRANS_TRUE_SIZE, 0) |
| 3436 | 否则 |
| 3444 | 如果rc大于等于0则transflag等于directory is transmuting |
| 3451 | 如果是错误或skp恒等于smack_known_star或skp恒等于smack_known_web则skp = NULL |
| 3454 | label of the task 等于skp |
| 3457 | 如果是错误或skp恒等于smack_known_star或skp恒等于smack_known_web则skp = NULL |
| 3460 | label of the mmap domain 等于skp |
| 3463 | 退出 |
| 3466 | 如果(final == NULL)则label of the fso 等于ckp |
| 3468 | 否则label of the fso 等于final |
| 3471 | smack inode flags 或等于de is instantiated 按位或transflag |
| 3473 | unlockandout : |
| 3475 | 返回 |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |