diff options
author | John Johansen <john.johansen@canonical.com> | 2013-02-18 15:59:34 -0800 |
---|---|---|
committer | John Johansen <john.johansen@canonical.com> | 2013-04-28 00:35:04 -0700 |
commit | 17322cc3f9ba578f20b5c09fb1630bd234040008 (patch) | |
tree | 42c688a31cc21a559b3cb48353be21f9bc31ef1d /security/apparmor/domain.c | |
parent | b7ae9f064bec903bd4a9f257a35da4d1e9bbcc99 (diff) | |
download | linux-17322cc3f9ba578f20b5c09fb1630bd234040008.tar.gz linux-17322cc3f9ba578f20b5c09fb1630bd234040008.tar.bz2 linux-17322cc3f9ba578f20b5c09fb1630bd234040008.zip |
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/domain.c')
-rw-r--r-- | security/apparmor/domain.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/security/apparmor/domain.c b/security/apparmor/domain.c index 859abdaac1ea..7bc85c7f4573 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)) { |