]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
UBUNTU SAUCE: apparmor: fix apparmor mediating locking non-fs, unix sockets
authorJohn Johansen <john.johansen@canonical.com>
Mon, 30 Jul 2018 20:55:00 +0000 (22:55 +0200)
committerStefan Bader <stefan.bader@canonical.com>
Tue, 14 Aug 2018 10:30:46 +0000 (12:30 +0200)
The apparmor policy language current does not allow expressing of the
locking permission for no-fs unix sockets. However the kernel is
enforcing mediation.

Add the AA_MAY_LOCK perm to the computed perm mask which will grant
permission for all current abi profiles, but still allow specifying
auditing of the operation if needed.

BugLink: http://bugs.launchpad.net/bugs/1780227
Signed-off-by: John Johansen <john.johansen@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>
Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
security/apparmor/lib.c

index 068a9f471f774d57543c6a93d978056070ac9cfb..23f3d16d6b85ec536027bada879ddf6c5f7aa640 100644 (file)
@@ -327,7 +327,7 @@ void aa_compute_perms(struct aa_dfa *dfa, unsigned int state,
        /* for v5 perm mapping in the policydb, the other set is used
         * to extend the general perm set
         */
-       perms->allow |= map_other(dfa_other_allow(dfa, state));
+       perms->allow |= map_other(dfa_other_allow(dfa, state)) | AA_MAY_LOCK;
        perms->audit |= map_other(dfa_other_audit(dfa, state));
        perms->quiet |= map_other(dfa_other_quiet(dfa, state));
 //     perms->xindex = dfa_user_xindex(dfa, state);