summaryrefslogtreecommitdiff
path: root/security/smack/smack_access.c
diff options
context:
space:
mode:
Diffstat (limited to 'security/smack/smack_access.c')
-rw-r--r--security/smack/smack_access.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/security/smack/smack_access.c b/security/smack/smack_access.c
index 14293cd9b1e..e0aa8bd48da 100644
--- a/security/smack/smack_access.c
+++ b/security/smack/smack_access.c
@@ -55,6 +55,14 @@ LIST_HEAD(smack_known_list);
static u32 smack_next_secid = 10;
/*
+ * are we running in permissive mode?
+ * can be overwritten at run-time by /smack/permissive
+ */
+#ifdef CONFIG_SECURITY_SMACK_PERMISSIVE_MODE
+int permissive_mode = SMACK_PERMISSIVE_ALLOWED;
+#endif
+
+/*
* what events do we log
* can be overwritten at run-time by /smack/logging
*/
@@ -188,6 +196,10 @@ out_audit:
smack_log(subject_known->smk_known, object_label, request,
rc, a);
#endif
+#ifdef CONFIG_SECURITY_SMACK_PERMISSIVE_MODE
+ if (permissive_mode == SMACK_PERMISSIVE_ALLOWED)
+ return 0;
+#endif
return rc;
}