Commit b2118ea9 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security

Pull apparmor fixes from James Morris:
 "A couple more regressions fixed"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
  apparmor: fix bad lock balance when introspecting policy
  apparmor: fix memleak of the profile hash
parents 056cdce0 ed2c7da3
...@@ -580,15 +580,13 @@ static struct aa_namespace *__next_namespace(struct aa_namespace *root, ...@@ -580,15 +580,13 @@ static struct aa_namespace *__next_namespace(struct aa_namespace *root,
/* check if the next ns is a sibling, parent, gp, .. */ /* check if the next ns is a sibling, parent, gp, .. */
parent = ns->parent; parent = ns->parent;
while (parent) { while (ns != root) {
mutex_unlock(&ns->lock); mutex_unlock(&ns->lock);
next = list_entry_next(ns, base.list); next = list_entry_next(ns, base.list);
if (!list_entry_is_head(next, &parent->sub_ns, base.list)) { if (!list_entry_is_head(next, &parent->sub_ns, base.list)) {
mutex_lock(&next->lock); mutex_lock(&next->lock);
return next; return next;
} }
if (parent == root)
return NULL;
ns = parent; ns = parent;
parent = parent->parent; parent = parent->parent;
} }
......
...@@ -610,6 +610,7 @@ void aa_free_profile(struct aa_profile *profile) ...@@ -610,6 +610,7 @@ void aa_free_profile(struct aa_profile *profile)
aa_put_dfa(profile->policy.dfa); aa_put_dfa(profile->policy.dfa);
aa_put_replacedby(profile->replacedby); aa_put_replacedby(profile->replacedby);
kzfree(profile->hash);
kzfree(profile); kzfree(profile);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment