目录
二、user版本设置selinux为Permissive模式方法
前言
按RK3568 Android11的userdebug版本的方式去关闭的user版本的selinux,不起效果。接下来分析下原因;
一、阅读selinux的代码
代码路径:system/core/init/selinux.cpp
可看到判断selinux状态的代码段:
EnforcingStatus StatusFromCmdline() {
EnforcingStatus status = SELINUX_ENFORCING;
ImportKernelCmdline([&](const std::string& key, const std::string& value) {
if (key == "androidboot.selinux" && value == "permissive") {
status = SELINUX_PERMISSIVE;
}
});
return status;
}
bool IsEnforcing() {
if (ALLOW_PERMISSIVE_SELINUX) {
return StatusFromCmdline() == SELINUX_ENFORCING;
}
return true;
}
在IsEnforcing函数中,返回true,代表selinux设置为Enforcing模式;返回