如何进行AppArmor源码的深入分析?
- 内容介绍
- 文章标签
- 相关推荐
本文共计869个文字,预计阅读时间需要4分钟。
这里不介绍apparmor,以下是对源代码初始化过程的简单分析:
c初始化静态整型变量 __init apparmor_init(void)- 添加安全钩子 security_add_hooks(apparmor_hooks, ARRAY_SIZE(apparmor_hooks), apparmor);- 该函数主要通过一个结构数组 apparmor_hooks 添加安全钩子;
这里不对apparmor做介绍,记录一下源码分析过程。
初始化static int __init apparmor_init(void)
-> security_add_hooks(apparmor_hooks, ARRAY_SIZE(apparmor_hooks), "apparmor");
-> 该函数主要通过一个结构数组 apparmor_hooks 初始化 HOOK 函数
apparmor_hooks 结构数组分析
具体定义在这
摘取一段分析
static struct security_hook_list apparmor_hooks[] __lsm_ro_after_init = {
LSM_HOOK_INIT(file_permission, apparmor_file_permission),
}
这里每一个 LSM_HOOK_INIT 都定义了一个 security_hook_list 结构。
本文共计869个文字,预计阅读时间需要4分钟。
这里不介绍apparmor,以下是对源代码初始化过程的简单分析:
c初始化静态整型变量 __init apparmor_init(void)- 添加安全钩子 security_add_hooks(apparmor_hooks, ARRAY_SIZE(apparmor_hooks), apparmor);- 该函数主要通过一个结构数组 apparmor_hooks 添加安全钩子;
这里不对apparmor做介绍,记录一下源码分析过程。
初始化static int __init apparmor_init(void)
-> security_add_hooks(apparmor_hooks, ARRAY_SIZE(apparmor_hooks), "apparmor");
-> 该函数主要通过一个结构数组 apparmor_hooks 初始化 HOOK 函数
apparmor_hooks 结构数组分析
具体定义在这
摘取一段分析
static struct security_hook_list apparmor_hooks[] __lsm_ro_after_init = {
LSM_HOOK_INIT(file_permission, apparmor_file_permission),
}
这里每一个 LSM_HOOK_INIT 都定义了一个 security_hook_list 结构。

