From: John Johansen Date: Sat, 18 Nov 2017 02:04:37 +0000 (-0800) Subject: apparmor: fix profile attachment for special unconfined profiles X-Git-Tag: v4.15-rc1~22^2~2 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=06d426d113fe0b3107939e81db920ca7b097e97c;p=linux-2.6-block.git apparmor: fix profile attachment for special unconfined profiles It used to be that unconfined would never attach. However that is not the case anymore as some special profiles can be marked as unconfined, that are not the namespaces unconfined profile, and may have an attachment. Fixes: f1bd904175e8 ("apparmor: add the base fns() for domain labels") Signed-off-by: John Johansen --- diff --git a/security/apparmor/domain.c b/security/apparmor/domain.c index 9527adc11c6d..ad456546df5b 100644 --- a/security/apparmor/domain.c +++ b/security/apparmor/domain.c @@ -325,8 +325,10 @@ static struct aa_profile *__attach_match(const char *name, struct aa_profile *profile, *candidate = NULL; list_for_each_entry_rcu(profile, head, base.list) { - if (profile->label.flags & FLAG_NULL) + if (profile->label.flags & FLAG_NULL && + &profile->label == ns_unconfined(profile->ns)) continue; + if (profile->xmatch) { if (profile->xmatch_len == len) { conflict = true;