kernel: don't apply rules for permissive/disabled selinux
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
#include "sepolicy.h"
|
#include "sepolicy.h"
|
||||||
|
#include "selinux.h"
|
||||||
|
|
||||||
#define KERNEL_SU_DOMAIN "su"
|
#define KERNEL_SU_DOMAIN "su"
|
||||||
#define ALL NULL
|
#define ALL NULL
|
||||||
@@ -8,6 +9,11 @@ void apply_kernelsu_rules() {
|
|||||||
struct selinux_policy *policy;
|
struct selinux_policy *policy;
|
||||||
struct policydb *db;
|
struct policydb *db;
|
||||||
|
|
||||||
|
if (!getenforce()) {
|
||||||
|
pr_info("SELinux permissive or disabled, don't apply rules.")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
rcu_read_lock();
|
rcu_read_lock();
|
||||||
policy = rcu_dereference(selinux_state.policy);
|
policy = rcu_dereference(selinux_state.policy);
|
||||||
db = &policy->policydb;
|
db = &policy->policydb;
|
||||||
|
|||||||
@@ -71,6 +71,12 @@ void setenforce(bool enforce) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool getenforce() {
|
bool getenforce() {
|
||||||
|
#ifdef CONFIG_SECURITY_SELINUX_DISABLE
|
||||||
|
if (selinux_state.disabled) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_SECURITY_SELINUX_DEVELOP
|
#ifdef CONFIG_SECURITY_SELINUX_DEVELOP
|
||||||
return selinux_state.enforcing;
|
return selinux_state.enforcing;
|
||||||
#else
|
#else
|
||||||
|
|||||||
Reference in New Issue
Block a user