|
@@ -168,10 +168,12 @@ static ssize_t sel_write_enforce(struct file *file, const char __user *buf,
|
|
|
if (length)
|
|
|
goto out;
|
|
|
audit_log(current->audit_context, GFP_KERNEL, AUDIT_MAC_STATUS,
|
|
|
- "enforcing=%d old_enforcing=%d auid=%u ses=%u",
|
|
|
+ "enforcing=%d old_enforcing=%d auid=%u ses=%u"
|
|
|
+ " enabled=%d old-enabled=%d lsm=selinux res=1",
|
|
|
new_value, old_value,
|
|
|
from_kuid(&init_user_ns, audit_get_loginuid(current)),
|
|
|
- audit_get_sessionid(current));
|
|
|
+ audit_get_sessionid(current),
|
|
|
+ selinux_enabled, selinux_enabled);
|
|
|
enforcing_set(state, new_value);
|
|
|
if (new_value)
|
|
|
avc_ss_reset(state->avc, 0);
|
|
@@ -279,6 +281,7 @@ static ssize_t sel_write_disable(struct file *file, const char __user *buf,
|
|
|
char *page;
|
|
|
ssize_t length;
|
|
|
int new_value;
|
|
|
+ int enforcing;
|
|
|
|
|
|
if (count >= PAGE_SIZE)
|
|
|
return -ENOMEM;
|
|
@@ -296,13 +299,16 @@ static ssize_t sel_write_disable(struct file *file, const char __user *buf,
|
|
|
goto out;
|
|
|
|
|
|
if (new_value) {
|
|
|
+ enforcing = enforcing_enabled(fsi->state);
|
|
|
length = selinux_disable(fsi->state);
|
|
|
if (length)
|
|
|
goto out;
|
|
|
audit_log(current->audit_context, GFP_KERNEL, AUDIT_MAC_STATUS,
|
|
|
- "selinux=0 auid=%u ses=%u",
|
|
|
+ "enforcing=%d old_enforcing=%d auid=%u ses=%u"
|
|
|
+ " enabled=%d old-enabled=%d lsm=selinux res=1",
|
|
|
+ enforcing, enforcing,
|
|
|
from_kuid(&init_user_ns, audit_get_loginuid(current)),
|
|
|
- audit_get_sessionid(current));
|
|
|
+ audit_get_sessionid(current), 0, 1);
|
|
|
}
|
|
|
|
|
|
length = count;
|