summaryrefslogtreecommitdiffstats
path: root/security/apparmor/policy.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2010-10-08 09:14:51 +0200
committerIngo Molnar <mingo@elte.hu>2010-10-08 09:15:00 +0200
commit153db80f8cf74e8700cac96305b6c0b92918f17c (patch)
treec2afb28e7b3f4fbf0aacd9edd39d7f895321ca0c /security/apparmor/policy.c
parent5fd03ddab7fdbc44bfb2d183a4531c26a8dbca5a (diff)
parentcb655d0f3d57c23db51b981648e452988c0223f9 (diff)
downloadtalos-obmc-linux-153db80f8cf74e8700cac96305b6c0b92918f17c.tar.gz
talos-obmc-linux-153db80f8cf74e8700cac96305b6c0b92918f17c.zip
Merge commit 'v2.6.36-rc7' into core/memblock
Merge reason: Update from -rc3 to -rc7. Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'security/apparmor/policy.c')
-rw-r--r--security/apparmor/policy.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/security/apparmor/policy.c b/security/apparmor/policy.c
index 3cdc1ad0787e..52cc865f1464 100644
--- a/security/apparmor/policy.c
+++ b/security/apparmor/policy.c
@@ -1151,12 +1151,14 @@ ssize_t aa_remove_profiles(char *fqname, size_t size)
/* released below */
ns = aa_get_namespace(root);
- write_lock(&ns->lock);
if (!name) {
/* remove namespace - can only happen if fqname[0] == ':' */
+ write_lock(&ns->parent->lock);
__remove_namespace(ns);
+ write_unlock(&ns->parent->lock);
} else {
/* remove profile */
+ write_lock(&ns->lock);
profile = aa_get_profile(__lookup_profile(&ns->base, name));
if (!profile) {
error = -ENOENT;
@@ -1165,8 +1167,8 @@ ssize_t aa_remove_profiles(char *fqname, size_t size)
}
name = profile->base.hname;
__remove_profile(profile);
+ write_unlock(&ns->lock);
}
- write_unlock(&ns->lock);
/* don't fail removal if audit fails */
(void) audit_policy(OP_PROF_RM, GFP_KERNEL, name, info, error);
OpenPOWER on IntegriCloud