|
@@ -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;
|
|
@@ -453,7 +459,7 @@ out:
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-static int sel_mmap_policy_fault(struct vm_fault *vmf)
|
|
|
+static vm_fault_t sel_mmap_policy_fault(struct vm_fault *vmf)
|
|
|
{
|
|
|
struct policy_load_memory *plm = vmf->vma->vm_file->private_data;
|
|
|
unsigned long offset;
|
|
@@ -576,7 +582,7 @@ static ssize_t sel_write_load(struct file *file, const char __user *buf,
|
|
|
|
|
|
out1:
|
|
|
audit_log(current->audit_context, GFP_KERNEL, AUDIT_MAC_POLICY_LOAD,
|
|
|
- "policy loaded auid=%u ses=%u",
|
|
|
+ "auid=%u ses=%u lsm=selinux res=1",
|
|
|
from_kuid(&init_user_ns, audit_get_loginuid(current)),
|
|
|
audit_get_sessionid(current));
|
|
|
out:
|