aboutsummaryrefslogtreecommitdiffstats
path: root/security/apparmor
diff options
context:
space:
mode:
authorJohn Johansen <john.johansen@canonical.com>2013-02-18 15:59:34 -0800
committerJohn Johansen <john.johansen@canonical.com>2013-04-28 00:35:04 -0700
commit17322cc3f9ba578f20b5c09fb1630bd234040008 (patch)
tree42c688a31cc21a559b3cb48353be21f9bc31ef1d /security/apparmor
parentb7ae9f064bec903bd4a9f257a35da4d1e9bbcc99 (diff)
downloadkernel_goldelico_gta04-17322cc3f9ba578f20b5c09fb1630bd234040008.zip
kernel_goldelico_gta04-17322cc3f9ba578f20b5c09fb1630bd234040008.tar.gz
kernel_goldelico_gta04-17322cc3f9ba578f20b5c09fb1630bd234040008.tar.bz2
apparmor: fix auditing of domain transition failures due to incomplete policy
When policy specifies a transition to a profile that is not currently loaded, it result in exec being denied. However the failure is not being audited correctly because the audit code is treating this as an allowed permission and thus not reporting it. Signed-off-by: John Johansen <john.johansen@canonical.com> Acked-By: Steve Beattie <sbeattie@ubuntu.com>
Diffstat (limited to 'security/apparmor')
-rw-r--r--security/apparmor/domain.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/security/apparmor/domain.c b/security/apparmor/domain.c
index 859abda..7bc85c7 100644
--- a/security/apparmor/domain.c
+++ b/security/apparmor/domain.c
@@ -443,6 +443,8 @@ int apparmor_bprm_set_creds(struct linux_binprm *bprm)
} else {
error = -ENOENT;
info = "profile not found";
+ /* remove MAY_EXEC to audit as failure */
+ perms.allow &= ~MAY_EXEC;
}
}
} else if (COMPLAIN_MODE(profile)) {