浏览代码

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 <john.johansen@canonical.com>
John Johansen 8 年之前
父节点
当前提交
06d426d113
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      security/apparmor/domain.c

+ 3 - 1
security/apparmor/domain.c

@@ -325,8 +325,10 @@ static struct aa_profile *__attach_match(const char *name,
 	struct aa_profile *profile, *candidate = NULL;
 	struct aa_profile *profile, *candidate = NULL;
 
 
 	list_for_each_entry_rcu(profile, head, base.list) {
 	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;
 			continue;
+
 		if (profile->xmatch) {
 		if (profile->xmatch) {
 			if (profile->xmatch_len == len) {
 			if (profile->xmatch_len == len) {
 				conflict = true;
 				conflict = true;