aboutsummaryrefslogtreecommitdiffstats
path: root/security/selinux/ss/services.c
diff options
context:
space:
mode:
Diffstat (limited to 'security/selinux/ss/services.c')
-rw-r--r--security/selinux/ss/services.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c
index 8a764928ff4b..d877cd16a813 100644
--- a/security/selinux/ss/services.c
+++ b/security/selinux/ss/services.c
@@ -1758,19 +1758,22 @@ int security_set_bools(int len, int *values)
1758 goto out; 1758 goto out;
1759 } 1759 }
1760 1760
1761 printk(KERN_INFO "security: committed booleans { ");
1762 for (i = 0; i < len; i++) { 1761 for (i = 0; i < len; i++) {
1762 if (!!values[i] != policydb.bool_val_to_struct[i]->state) {
1763 audit_log(current->audit_context, GFP_ATOMIC,
1764 AUDIT_MAC_CONFIG_CHANGE,
1765 "bool=%s val=%d old_val=%d auid=%u",
1766 policydb.p_bool_val_to_name[i],
1767 !!values[i],
1768 policydb.bool_val_to_struct[i]->state,
1769 audit_get_loginuid(current->audit_context));
1770 }
1763 if (values[i]) { 1771 if (values[i]) {
1764 policydb.bool_val_to_struct[i]->state = 1; 1772 policydb.bool_val_to_struct[i]->state = 1;
1765 } else { 1773 } else {
1766 policydb.bool_val_to_struct[i]->state = 0; 1774 policydb.bool_val_to_struct[i]->state = 0;
1767 } 1775 }
1768 if (i != 0)
1769 printk(", ");
1770 printk("%s:%d", policydb.p_bool_val_to_name[i],
1771 policydb.bool_val_to_struct[i]->state);
1772 } 1776 }
1773 printk(" }\n");
1774 1777
1775 for (cur = policydb.cond_list; cur != NULL; cur = cur->next) { 1778 for (cur = policydb.cond_list; cur != NULL; cur = cur->next) {
1776 rc = evaluate_cond_node(&policydb, cur); 1779 rc = evaluate_cond_node(&policydb, cur);