]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
AppArmor: fix mapping of META_READ to audit and quiet flags
authorJohn Johansen <john.johansen@canonical.com>
Wed, 22 Feb 2012 08:42:08 +0000 (00:42 -0800)
committerJohn Johansen <john.johansen@canonical.com>
Mon, 27 Feb 2012 19:38:22 +0000 (11:38 -0800)
The mapping of AA_MAY_META_READ for the allow mask was also being mapped
to the audit and quiet masks. This would result in some operations being
audited when the should not.

This flaw was hidden by the previous audit bug which would drop some
messages that where supposed to be audited.

Signed-off-by: John Johansen <john.johansen@canonical.com>
Acked-by: Kees Cook <kees@ubuntu.com>
security/apparmor/file.c

index 7312db74121993a9fd250b9895812f1704bc21cc..bba875c4d068f1db2e576e71e35e3e77fb3d2c0d 100644 (file)
@@ -173,8 +173,6 @@ static u32 map_old_perms(u32 old)
        if (old & 0x40) /* AA_EXEC_MMAP */
                new |= AA_EXEC_MMAP;
 
-       new |= AA_MAY_META_READ;
-
        return new;
 }
 
@@ -212,6 +210,7 @@ static struct file_perms compute_perms(struct aa_dfa *dfa, unsigned int state,
                perms.quiet = map_old_perms(dfa_other_quiet(dfa, state));
                perms.xindex = dfa_other_xindex(dfa, state);
        }
+       perms.allow |= AA_MAY_META_READ;
 
        /* change_profile wasn't determined by ownership in old mapping */
        if (ACCEPT_TABLE(dfa)[state] & 0x80000000)