/system/core/init/init.cpp
static bool selinux_is_enforcing(void)
{
return false; //force set selinux permissive.
if (ALLOW_PERMISSIVE_SELINUX) {
return selinux_status_from_cmdline() == SELINUX_ENFORCING;
}
return true;
}
P0:
/system/core/init/selinux.cpp
bool IsEnforcing() {
return false; //force set selinux permissive.
if (ALLOW_PERMISSIVE_SELINUX) {
return StatusFromCmdline() == SELINUX_ENFORCING;
}
return true;
}
R0 之后的 user load,
还需要在 alps/kernel-x.xx/arch/armxx/configs/xxxx_defconfig (比如:alps/kernel-4.14/arch/arm64/configs/k69v1_64_tee_cts_defconfig,注意:不是 xxxx_debug_defconfig)中,
配置:
CONFIG_SECURITY_SELINUX_DEVELOP=y
本文深入探讨了在Android系统核心代码中,SELinux状态(强制或宽容)的设定逻辑。通过分析/system/core/init/init.cpp与/system/core/init/selinux.cpp中的关键函数,如selinux_is_enforcing与IsEnforcing,揭示了如何在开发配置中控制SELinux的执行模式。
2381

被折叠的 条评论
为什么被折叠?



